RE: DBD::Solid or DBD::ODBC with Solid



Simon,

I can't tell from this why it is not working.

Assuming the entries you mentioned are in the odbcinst.ini and odbc.ini files
used by unixODBC (the output of odbcinst -j) and the shared object for your
driver can be loaded then it should work. You haven't by any chance set the
ODBCINI or ODBCINSTINI environment variables have you? If not then the only
thing I can suggest is you send an strace (Linux) or truss (Solaris) of the
isql run - don't bother mailing it to the list - it will be too big.

Martin
--
Martin J. Evans
Easysoft Ltd, UK
http://www.easysoft.com


On 20-Apr-2006 Simon Windsor wrote:
Hi

Thanks for your response again.

The odbc.ini file is located at /opt/utran/apps/unixODBC/etc/odbc.ini
The odbcinst.ini file is located
at /opt/utran/apps/unixODBC/etc/odbcinst.ini


The output you asked for below,

Simon

Checking for SQLConnect
-----------------------
dltest /opt/utran/apps/unixODBC/Solid4.5/bin/sacs9x45.so SQLConnect
SUCCESS: Loaded /opt/utran/apps/unixODBC/Solid4.5/bin/sacs9x45.so
SUCCESS: Found SQLConnect

Trace file for isql -v hh1tnes04_Today user password
----------------------------------------------------
[ODBC][7651][__handles.c][444]
Exit:[SQL_SUCCESS]
Environment = 27308
[ODBC][7651][SQLAllocHandle.c][345]
Entry:
Handle Type = 2
Input Handle = 27308
[ODBC][7651][SQLAllocHandle.c][463]
Exit:[SQL_SUCCESS]
Output Handle = 27ca8
[ODBC][7651][SQLConnect.c][3549]
Entry:
Connection = 27ca8
Server Name = [hh1tnes04_Today][length = 15
(SQL_NTS)]
User Name = [unsupported][length = 11
(SQL_NTS)]
Authentication = [**********][length = 10
(SQL_NTS)]
[ODBC][7651][SQLConnect.c][3758]Error: IM002
[ODBC][7651][SQLError.c][424]
Entry:
Connection = 27ca8
SQLState = ffbef4f0
Native = ffbef4e8
Message Text = ffbef500
Buffer Length = 500
Text Len Ptr = ffbef4ee
[ODBC][7651][SQLError.c][461]
Exit:[SQL_SUCCESS]
SQLState = IM002
Native = ffbef4e8 -> 0
Message Text = [[unixODBC][Driver Manager]Data
source name not found, and no default driver specified]

[ODBC][7651][SQLError.c][424]
Entry:
Connection = 27ca8
SQLState = ffbef4f0
Native = ffbef4e8
Message Text = ffbef500
Buffer Length = 500
Text Len Ptr = ffbef4ee
[ODBC][7651][SQLError.c][461]
Exit:[SQL_NO_DATA]
[ODBC][7651][SQLError.c][504]
Entry:
Environment = 27308
SQLState = ffbef4f0
Native = ffbef4e8
Message Text = ffbef500
Buffer Length = 500
Text Len Ptr = ffbef4ee
[ODBC][7651][SQLError.c][541]
Exit:[SQL_NO_DATA]
[ODBC][7651][SQLFreeHandle.c][268]
Entry:
Handle Type = 2
Input Handle = 27ca8
[ODBC][7651][SQLFreeHandle.c][317]
Exit:[SQL_SUCCESS]
[ODBC][7651][SQLFreeHandle.c][203]
Entry:
Handle Type = 1
Input Handle = 27308



On Thu, 2006-04-20 at 14:43 +0100, Martin J. Evans wrote:
On 20-Apr-2006 Simon Windsor wrote:
Hi

Thanks for the prompt response.

Here goes ...

=====================================================================
odbjinst -j
-----------
unixODBC 2.2.11
DRIVERS ...........: /opt/utran/apps/unixODBC/etc/odbcinst.ini
SYSTEM DATA SOURCES: /opt/utran/apps/unixODBC/etc/odbc.ini
USER DATA SOURCES..: /opt/utran/.odbc.ini

odbcinst.ini
------------
[solid_driver_45]
Driver = /opt/utran/apps/unixODBC/Solid4.5/bin/sacs9x45.so
Trace = Yes
TraceFile = /tmp/sql_45.log

This odbcinst.ini file needs to be /opt/utran/apps/unixODBC/etc/odbcinst.ini
-
you don't actually say if it is or not.

The Trace and TraceFile are ODBC options so go in the [odbc] section:

[ODBC]
Trace = Yes
TraceFile = /tmp/sql_45.log

[solid_driver_45]
Driver = /opt/utran/apps/unixODBC/Solid4.5/bin/sacs9x45.so

You won't get much of a trace until the driver is loaded but assuming you
make
the change above, I'd re-run isql and look in /tmp/sql_45.log.

odbc.ini (A few lines)
--------
[hh1tnes04_Today]
Driver = solid_driver_45

This odbc.ini file needs to be /opt/utran/apps/unixODBC/etc/odbc.ini or
/opt/utran/.odbc.ini - here again - you didn't say.

I'm guessing you need extra attributes in here but it is not your current
problem.

solid.ini (Sample Line)
---------
hh1tnes04_Today = tcp 192.168.57.52 1300

===========================================================================

I have set LD_LIBRARY_PATH to
include /opt/utran/apps/unixODBC/Solid4.5/bin and trying ...


isql DSN User Password -v
-------------------------
[IM002][unixODBC][Driver Manager]Data source name not found, and no
default driver specified.
[ISQL]ERROR: Could not SQLConnect

That should be

isql -v hh1tnes04_Today user password

because 1) hh1tnes04_Today is the name of your DSN
2) isql is a bit sensitive to options after args - put -v first

I have not tried DBD::ODBC yet, I have only attempted DBD::Solid, and
now I am trying to get a working ODBC connection before using DBD::ODBC.


Finally, the output of ldd is

libc.so.1 => /usr/lib/libc.so.1
libm.so.1 => /usr/lib/libm.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
librt.so.1 => /usr/lib/librt.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libaio.so.1 => /usr/lib/libaio.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/FJSV,GPUZC-M/lib/libc_psr.so.1

Any help or insight you can offer is appreciated.

Simon

I'd do the above changes and if it does not work check the log file and if
you
get nothing in this I'd try something like:

dltest /opt/utran/apps/unixODBC/Solid4.5/bin/sacs9x45.so SQLConnect

to make sure unixODBC thinks you've got a SQLConnect in the ODBC driver.

BTW, I don't normally answer stuff not on the list as others cannot see what
is
going on and cannot help so it would be nice when this is running if you
posted
the problem/solution.

Martin
--
Martin J. Evans
Easysoft Ltd, UK
http://www.easysoft.com



On Thu, 2006-04-20 at 13:10 +0100, Martin J. Evans wrote:
On 20-Apr-2006 Simon Windsor wrote:
Hi

I have been asked to add a few reports using data from several Solid
databases to a Solaris Webserver that I manage.

I have access to Solid SDK 3.7FE and 4.5.

I have checked DBD::Solid and it does not appear to support versions
greater than 3.5.

I have tried unixODBC and DBD::ODBC, but I keep getting

[IM002][unixODBC][Driver Manager]Data source name not found
[ISQL]ERROR: Could not SQLConnect

Can anyone provide any help/advice on how to get DBD::Solid working for
3.7Fe, or on configuring unixODBC(odbcinst.ini ?).

All the best

Simon

ps Sorry this is slightly off topic


What does odbcinst -j output?

How have you added a solid entry to your odbcinst.ini file and where is
your
odbcinst.ini file?

Where is your odbc.ini file and what does it look like?

Instead of using Perl, why not just run:

isql -v my_dsn_name my_username my_password

(it will be easier to diagnose the problem).

Have you set and exported LD_LIBRARY_PATH such that any shared objects
required
by the shared object named in Driver = xxx in your odbcinst.ini file are
found.
What does ldd on the shared object named by Driver = xxx report?

Martin
--
Martin J. Evans
Easysoft Ltd, UK
http://www.easysoft.com

--
Simon Windsor
Eml: simon.windsor@xxxxxxxxxxxxxxxx
Tel: 01454 617689
Mob: 07960 321599
--
Simon Windsor
Eml: simon.windsor@xxxxxxxxxxxxxxxx
Tel: 01454 617689
Mob: 07960 321599
.



Relevant Pages

  • Re: CTA - truck crash
    ... The driver in this accident has most certainly been cut loose and is now ... every entry you make in a logbook, when verifed, in order for that entry ... It's a game you can lose without even moving your ...
    (misc.transport.trucking)
  • Re: Loomis or Gordan?
    ... >> way to measure a driver, ... >> Main Entry: prog7nos7ti7ca7tion ... >> I know you want your prognostication to be fact. ... >> Perhaps I should also include OPINION: ...
    (rec.autos.sport.nascar)
  • RE: DBD::Solid or DBD::ODBC with Solid
    ... SUCCESS: Found SQLConnect ... Trace file for isql -v hh1tnes04_Today user password ... Entry: ... SQLState = ffbef4f0 ...
    (perl.dbi.users)
  • Re: Stream Device Driver
    ... you should not put your reg entry in ... the first prm of ActivateDeviceEx is not the path of your ... driver, but the registry base key that contain your driver's settings. ... with Dumpbin /exports mydriver.dll I see every entry point. ...
    (microsoft.public.windowsce.platbuilder)