Solved DB Error (9283): Incorrect version of library

General discussion forum about all databases other than SqlBase.
JoeHughes

DB Error (9283): Incorrect version of library

Post by JoeHughes » 22 Feb 2012, 12:52

Hi,

I'm getting the above message when trying to connect to an Oracle database.

I have TD3.1 and TD6 on my machine (Windows XP). The Deploy directories are separate ( C:\Program Files\Gupta\Deploy and C:\Program Files\UnifyTD60\Deploy ). Each directory contains a copy of the sql.ini file:

Code: Select all

[win32client]

[win32client.dll]
comdll=sqlora32
comdll=sqlodb32
comdll=sqlws32

[win32client.ws32]
serverpath=SERVERNAME,sybase/*

[odbcrtr]
remotedbname=ICTPortfolio,DRIVER={SQL Server};SERVER=SERVERNAME;DATABASE=ICTPortfolio;

[oragtwy]
remotedbname=H1,@sea7
remotedbname=H1E7,@sea7
remotedbname=H1L7,@libr
remotedbname=H3,@live
remotedbname=H4,@encs
remotedbname=H4H,@ENHY
remotedbname=H9,@libr
remotedbname=H15T,@h15t
remotedbname=H15,@DEVA
remotedbname=EDUC,@SEA7
remotedbname=COMM,@comm
remotedbname=DEVA,@deva
remotedbname=DEVC,@devc
remotedbname=EMS,@ems
remotedbname=ENHY,@ENHY
remotedbname=ENCS,@encs
remotedbname=ENCA,@enca
remotedbname=HEAT,@heat
remotedbname=LIBR,@libr
remotedbname=LIVE,@live
remotedbname=SEA7,@sea7
remotedbname=SSID,@live
remotedbname=TST8,@tst8
remotedbname=WEB,@WEB
remotedbname=SALT,@SALT
remotedbname=SALP,@SALP
remotedbname=DLIVE,@DLIVE
longbuffer=150000000
substitute=",
substitute=SYSSQL.,
fetchrow=20
The PATH Environment variable has at the front: "C:\Program Files\Gupta\Deploy;C:\Program Files\UnifyTD60\Deploy;...."

When checking which dlls the executable is accessing, using Process Explorer, the application is dragging in sqlodb32.dll and gtlsi31.dll from the "C:\Program Files\Gupta\Deploy" directory. Yet, when I remove "C:\Program Files\Gupta\Deploy" from the front of the path the application works with out a problem.

Any assistance will be greatly appreciated.

Thanks in advance.

Jeff Luther

Re: DB Error (9283): Incorrect version of library

Post by Jeff Luther » 22 Feb 2012, 18:58

The PATH Environment variable has at the front: "C:\Program Files\Gupta\Deploy;
And there's the problem! "Deploy;" is the 3.1 folder but TD v6 is picking up the 31 ODBC DLL which is wrong. The DLLs that includ '31' in the name don't matter - most TD DLLs are named version specific, like '31' or '60.' Problem is sqlodb32.dll is not named TD version specific.

I have never found a way to 'balance' to diff. TD installs and be able to run an EXE of any version from a 'neutral' -- ie, place other than in the TD version folder the EXE is built for. Those darn non TD-specific router DLLs get in the way.

Solutions:
** you'll need to have a way to configure the machine to default to a specific TD by setting PATH for that TD version, etc. I have a couple TXT files that I use to set the PATH + local environment vars. to a specific version of TD first.

** You should be able to get away with a 2-'party' system (3.1 and 6.0) by installing your EXE in the TD version it was built for and run the EXE local to that TD version's folder. This is how I test a TD app for a given version: copy it to my 1.5, 2.1, 3.0, 4.2 or 5.2 folders if it's in that version, change dirs to that folder, start that TD and read in the file.

The default TD for my machine is v6.0 (that is, PATH has v6 specific folders listed first), so I can run an app in that version from anywhere.

Make sense?

JoeHughes

Re: DB Error (9283): Incorrect version of library

Post by JoeHughes » 23 Feb 2012, 12:33

Thanks for the speedy solutions.

Basically, I removed the version 6.0 deploy directory from the PATH variable and copied the applications directly into the deploy directory.

Once again, thanks for your assistance.

Return to “General Discussion”

Who is online

Users browsing this forum: [Applebot], [Ccbot] and 0 guests