The capsule description of my problem is that I can successfully
connect to a Filemaker Pro 8 ODBC datasource from Witango Dev Studio
and via the Test button in Openlink's ODBC Administrator, but can't
from Witango App Server. (I should add that I've defined the
datasource in /Library/ODBC/odbc.ini, not in a particular user's
odbc.ini.)
Given that the Openlink ODBC Administrator and Dev Studio work, it
seems likely that I've got a configuration problem with the app
server, but I know not what...
Some detail: I have installed
Filemaker 8.0v3
the SequeLink.bundle that comes on the Filemaker 8.0 cd
the iODBC SDK 3.52.1 from OpenLInk
(http://oplweb.openlinksw.com/product/webmatrixsdk.asp)
Witango Dev Studio 5.5.08
Witango App Server 5.5.009
onto a freshly-created OS X 10.4.6 partition. (The documentation that
comes with Filemaker claims it was tested with iODBC 3.52.1.)
I'm running the Witango applications with a LITE license. (We use
Witango lite for the term project in a 2nd-year computer literacy
course I teach; I want to move from AppleEvents + FileMaker Pro 6 to
ODBC or JDBC + FileMaker Pro 8. Each team of students runs their own
copies of FileMaker Pro and the Witango App Server so that they have
their hands on all the pieces.)
I used the OpenLink ODBC Administrator to define the SequeLink driver
in /Library/ODBC/odbcinst.ini, but created /Library/ODBC/odbc.ini by
hand - OpenLink ODBC Administrator says that
"an error occurred when trying to configure the DSN:
Could not load the driver or translator setup library"
when I try to define a data source with it. Witango Dev Studio sees
the datasource, and I can connect to it and create a taf file,
although if I try to modify the datasource it tells me it can't do
that, I should use an ODBC Administrator. That's not my problem,
though it could be a symptom of my problem, or just a deficiency of
the SequeLink driver. (I *would* be curious to know whether others
see the same behaviour.)
The problem: when I start Witango App Server and access a taf built
in Dev Studio using the same ODBC datasource, I get the following
error page back:
Error
An error occurred while processing your request:
File: FindStudent.taf
Position: RecordList
Class: DBMS
Main Error Number: 2704
[DataDirect][ODBC SequeLink driver]Error parsing connect
string at offset 42.
HY000
File: FindStudent.taf
Position: RecordList
Class: Internal
Main Error Number: -4
Unable to connect to the specified data source.
Filemaker via ODBC
File: FindStudent.taf
Position: RecordList
Class: Internal
Main Error Number: -4
Unable to connect to the specified data source.
Verify that data source is properly configured and that
database server is online.
If I set the trace flag in odbc.ini, the resulting log file includes
the following:
itangod 01876200 ENTER SQLDriverConnect
SQLHDBC 0x155e040
SQLPOINTER 0x0
SQLCHAR * 0x155dfd0
| DSN=universityfm;UID=jcbeatty;PWD=****** |
| *; |
- character position 42 is at the end of the connect string.
Interestingly, if I look at the log after connecting to the same
datasource in Dev Studio, the log file contains the following longer
connect string:
{No Application A000ED98 EXIT SQLDriverConnectW with return
code 0 (SQL_SUCCESS)
SQLHDBC 0x35f730
SQLPOINTER 0x333240
SQLWCHAR * 0xbfff5a90
SQLSMALLINT -3 (SQL_NTS)
SQLWCHAR * 0xbfff9a90
| DSN=universityfm;SDSN=university4tables; |
| HST=127.0.0.1;PRT=2399;UID=jcbeatty;PWD= |
| ******* |
SQLSMALLINT 4096
SQLSMALLINT * 0xbfffda90 (348)
SQLUSMALLINT 2 (SQL_DRIVER_PROMPT)
I noted the additional parameters (eg HST, PRT and SDSN) with
interest, but adding them to the datasource definition in odbc.ini
doesn't improve matters. Incidentally, I believe that the UID and PWD
*are* coming from the datasource definition, however, because I've
defined them in the data source definition but not instructed Dev
Studio to save them.
For the record, here's /Library/ODBC/odbc.ini
[ODBC Data Sources]
universityfm = Filemaker via ODBC
[ODBC]
Trace = 1
TraceAutoStop = 0
TraceFile = /sql_system.log
TraceLibrary =
[universityfm]
Driver =
/Library/ODBC/SequeLink.bundle/Contents/MacOS/ivslk18.dylib
Host = 127.0.0.1
Port = 2399
ServerDataSource = university4tables
UID = jcbeatty
PWD = project
and here's /Library/ODBC/odbcinst.ini
[ODBC Drivers]
FileMaker Pro SequeLink ODBC = Installed
[FileMaker Pro SequeLink ODBC]
Driver = /Library/ODBC/SequeLink.bundle/Contents/MacOS/ivslk18.dylib
Setup =
Any suggestions gratefully appreciated. We have used witango lite
with Filemaker 6 via AppleEvents quite successfully, but Filemaker 8
is MUCH better for pedagogical reasons.
I've also tried JDBC; although Dev Studio connects to FileMaker ok
via JDBC, it doesn't seem able to get meta data back (ie field names
and properties), and hasn't for several revs of FileMaker. Sigh.
Thanks.
Regards,
john beatty
--
--
------------------------------
Prof. John C. Beatty
School of Computer Science
University of Waterloo
200 University Avenue
Waterloo, Ontario
Canada N2L 3G1
+1 (519) 888-4567 x 4525 voice
+1 (519) 885-1208 fax
________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf