I've posted in the past about issues with DataDirect but we have a new
product that we're attempting to get talking to our warehouse - Actuate
iServer.
I've done various tests with the 7.0/8.0 driver (compiling with an
without win_unicode.c) and here's what I've got.
When I compile without win_unicode.c on the version 7 driver, DataDirect
kicks back an error about "General Error: Unicode conversion failed".
I've sent that back to Actuate as a possible issue with DataDirect. The
commlog shows the records being selected but DataDirect doesn't seem to
know what to do with them.
Now with the version 8 driver compiled with various flags and with or
without win_unicode.c included, DataDirect spits back the following in
the trace file:
ppid=22789:pid= 593f:b75ec7e0 ENTER SQLAllocConnect
HENV 0xb6c60258
HDBC * 0xb6c5d708
ppid=22789:pid= 593f:b75ec7e0 ENTER SQLSetConnectAttr
SQLHDBC 0xb6c60e38
SQLINTEGER 1061
SQLPOINTER [Unknown attribute 1061]
SQLINTEGER 0
ppid=22789:pid= 593f:b75ec7e0 ENTER SQLDriverConnectW
HDBC 0xb6c60e38
HWND 0x00000000
WCHAR * 0xbfff88f0 [ -3] "******"
SWORD -3
WCHAR * 0xbfff88f0
SWORD 0
SWORD * 0xbfff896e
UWORD 0 <SQL_DRIVER_NOPROMPT>
I've search through the source and it seems that under windows, this
would prompt for a dialog to enter the username and password but under
*nix, it just returns an error. The fact that it happens only with the
new driver which seems to only support ODBCVER=0x0300 or higher leads me
to believe that this is some missing ODBC 3 functionality in the
psqlodbc driver. Mind you, I can barely read code so I could be wrong.
I'm just trying to get Actuate talking to Postgres8. Interestingly
enough that under Windows, no matter what username and password I put in
the system DSN or when I create the connection from within the Actuate
tool, it always pops up and asks me for a username and password. I'm
guessing that the windows driver responds fine and understands how to
"pop up" a dialog but under linux that just isn't possible when compiled
without a GUI. I've tried building the driver with various versions of
unixODBC and even iODBC but it just won't work.
I know we're working with a third-party closed-source product but these
are the kinds of environments that people will want to use postgres.
We're also looking at using the Openlink drivers or possibly the
Easysoft ODBCtoJDBC driver just to get this working. CommandPrompt, we
would love to buy your driver if it worked!
Can anyone provide any ideas? Thanks in advance and let me know if I can
provide any more information.
--
John E. Vincent