[erlang-questions] ODBC Connectivity with Netezza

Avinash Dhumane avinash@REDACTED
Fri Mar 16 14:04:20 CET 2012


Hi Ingela:

The below lines from the Erlang Documentation helped to narrow down to the  
cause:

>>>
The Erlang ODBC application consists of both Erlang and C code. The C code  
is delivered as a precompiled executable for windows, solaris and linux  
(SLES10) in the commercial build. In the open source distribution it is  
built the same way as all other application using configure and make. You  
may want to provide the the path to your ODBC libraries using  
--with-odbc=PATH.
>>>>>

Since ODBC connectivity with AS/400 worked fine, I checked why it worked.

Apparently, on "Windows 2008 Server" installation (in virtualised  
environment), there are driver DLLs with *same* name but different  
content, placed in 2 different directories - System32 and SysWOW64.  
Netezza driver DLL was found only in System32 but not in SysWOW64, unlike  
for AS/400 driver. That was the only difference in the setup.

Upon highlighting this difference to IBM Support, we were advised of  
installing both 32-bit and 64-bit drivers of Netezza, and that resolved  
the issue. The connection string was not the issue; the same set of 3  
parameters - DSN, UID and PWD - are working fine across all  
ODBC-interfaced DBMS that we encountered so far. The Erlang's standard  
ODBC application is cool!

Regards,

Avinash

On Fri, 16 Mar 2012 18:10:07 +0530, Ingela Andin <ingela@REDACTED> wrote:

> Hi!
>
> I have never used Netezza have you tried Googling?
>
> First hit I got was
>
> http://www.connectionstrings.com/netezza
>
> Regards Ingela Erlang/OTP team - Ericsson AB
>
> 2012/3/15 Avinash Dhumane <avinash@REDACTED>:
>> We have an integration glue application in Erlang (on Windows) that  
>> connects
>> to heterogeneous data sources SQL Server, AS/400, and Netezza via ODBC
>> application provided in the standard Erlang distribution. While the  
>> drill
>> works perfectly for SQL Server and AS/400, Netezza is encountering  
>> following
>> connectivity problem:
>>
>> Erlang R14B02 (erts-5.8.3) [smp:2:2] [rq:2] [async-threads:0]
>>
>> Eshell V5.8.3  (abort with ^G)
>> 1> odbc:start().
>> ok
>> 2> odbc:connect("DSN=NZSQL;UID=TEST;PWD=TEST", []).
>> {error,"[Microsoft][ODBC Driver Manager] Data source name not found and  
>> no
>> default driver specified SQLSTATE IS: IM002 Connection to database  
>> failed."}
>> 3>
>>
>> Microsoft help link:
>> http://msdn.microsoft.com/en-us/library/windows/desktop/ms711810(v=vs.85).aspx
>> says:
>>
>>     If the data source name cannot be found or ServerName is a null  
>> pointer,
>>     and the default data source specification does not exist, the Driver
>> Manager
>>     returns SQL_ERROR with SQLSTATE IM002 (Data source name not found  
>> and
>>     no default driver specified).
>>
>> Obviously, this is not the case with our setup. We tried with both "User
>> DSN" and "System DSN" in Windows "ODBC Data Source Administrator" tool,  
>> but
>> the same error persists in both the cases.
>>
>> Does Netezza require different connection string?
>>
>> Please advise.
>>
>> Thanks
>> Avinash
>>
>> PS: We have NetezzaSQL driver (NSSQLODBC.DLL) version 4.06.05.10119
>> installed on the Windows box that runs the Erlang application.
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions


-- 
Using Opera's revolutionary email client: http://www.opera.com/mail/



More information about the erlang-questions mailing list