I am trying to write an app in vfp 8.0 using cursoradapters connecting
to an as400 db2 database. My goal is to set up a test data library
(called FRED) on the iseries identical to the production data library
and manipulate the library list the pc uses by changing the odbc
connection string. If my understanding is correct, the DBQ option of
the connection string adds libraries to the lib list, but I can't get
the cursor to load unless I qualify the table name with the library
name.
I also can not find any good documentation on IBM Access for Windows
ODBC properties but have found this one for LINUX(which is what I'm
going by).
http://www-03.ibm.com/servers/eserver/iseries/access/linux/guide/odbcproperties.html
Thanks in advance.
Here's my code:
lcConnStr= "DRIVER={iSeries Access ODBC Driver};" ; +
"PKG=QGPL/DEFAULT(IBM),2,0,1,0,512;" ;
+ "LANGUAGEID=ENU;" ;
+ "DFTPKGLIB=QGPL;" ;
+ "XDYNAMIC=1;" ;
+ "DBQ=QGPL,FRED;" ;
+ "SYSTEM=SCCA400;" ;
+ "Trusted Connection=Yes;"
retval = SQLSTRINGCONNECT(lcConnStr)
<This doesn't work>
select PERCENT, NAME, ADDRESS1, TAXID, CHECKCODE, HOLDFUND, LLORDSWT,
REBATEAMT, ADDRESS2, CITY, STATE, ZIP, ZIPEXT, UPDSWT, CROPYR,
CONTRACT, SUB, IDNO from CPARTNERS
<This works>
select PERCENT, NAME, ADDRESS1, TAXID, CHECKCODE, HOLDFUND, LLORDSWT,
REBATEAMT, ADDRESS2, CITY, STATE, ZIP, ZIPEXT, UPDSWT, CROPYR,
CONTRACT, SUB, IDNO from FRED.CPARTNERS
Gert van der Kooij - 24 Mar 2006 00:21 GMT
> + "DBQ=QGPL,FRED;" ;
> + "SYSTEM=SCCA400;" ;
> + "Trusted Connection=Yes;"
The docs say:
Note, the first library listed in this property will also be the default
library, which is used to resolve unqualified names in SQL statements.
To specify no default library, a comma should be entered before any
libraries.
So I guess you need to change the DBQ option to 'DBQ=FRED,QGPL;'
Fred - 24 Mar 2006 15:19 GMT
Thanks, that solved the problem.