Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Pulling DB2 data via Oracle?
Message
 
À
13/01/2012 19:53:17
James Blackburn
Qualty Design Systems, Inc.
Kuna, Idaho, États-Unis
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Versions des environnements
Visual FoxPro:
VFP 9 SP2
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
Oracle
Divers
Thread ID:
01532915
Message ID:
01532918
Vues:
25
>one way would be to use the view nodata and then get the view handle using cursorgetprop('ConnectHandle')

Hey that's a darn good idea - I'll give it a shot!

>issue the sqlexec() and the requery the view.

Yep I got it working that way...I was hoping to use a remote view instead of an sqlexec() command because the rest of the app uses remote views & I was trying to keep things consistent.

>OR
>
>if the data is read only then just use SPT.
>
>Just thought of this. Maybe you can use dbsetprop() to set the view's connect handle.
>
>
>>I have a DB2 database that I need to query data from - and since we don't want to have to install DB2 connect and the ODBC drivers on all the workstations we've setup our Oracle database to talk to DB2 (which was a rather complicated mess)- so in theory I can use the Oracle ODBC to get the DB2 data.
>>
>>Right now if I use something like TOAD I can run a select statement that hits the DB2 data and it works..looks something like this:
>>
>>select * from mySchema.dsnt where myField = 'da_parameter';
>>
>>...thing is in order for that to work I have to do this first:
>>
>>alter session set global_names=false;
>>
>>...and thus that is my problem. What I want to do is simply create a VFP remote view with that select statement - but I don't know how to issue the 'alter session' command first. I've got our Oracle guy trying to figure out a way to eliminate the need to do that - but I was wonder if there is a way I can do that via VFP somehow.
>>
>>Update: Well I kinda figured out a way to do it...
>>
>>lnConnectionHandle = SQLCONNECT('myODBCconnectionName', .T. )
>>? lnConnectionHandle
>>lcSQL = 'alter session set global_names=false;'
>>lnResult = SQLEXEC(lnConnectionHandle ,lcSQL)
>>
>>lcsql2 = "select * from mySchema.dsnt where myField = 'da_parameter';'"
>>lnResult = SQLEXEC(lnConnectionHandle ,lcSQL2, 'Result_set')
>>
>>...that seems to work & I'm assuming it's because the SQL statement is using the same connection handle as the 'alter session' command. So next question - is there a way to force a remote view to use a specific connection handle?
ICQ 10556 (ya), 254117
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform