I've seen the few threads about NoSQLGetPrivateProfileString messages but I think I have a different issue. I'm trying to establish an odbc connection from a perl script and it's failing with this error.
[Vertica][ODBC] (11560) Unable to locate SQLGetPrivateProfileString function
I had the other issue about not finding the message for the en_US locale but that was fixed with the vertica.ini file. So it's finding the message in ODBCMessages.xml but i don't know why its actually throwing that error. Any ideas about this one?
SQLGetPrivateProfileString
Moderator: NorbertKrupa
Re: SQLGetPrivateProfileString
Hi!
>> I have a different issue
No, you have same issue - odbc driver do not know where error messages are.
>> I had the other issue about not finding the message for the en_US locale
vertica.ini should solve this issue but the problem not in LOCALE, problem in ErrorMessagesPath.
You should define path to ODBCMessages.xml (which is error messages file) in connection string.
>> I have a different issue
No, you have same issue - odbc driver do not know where error messages are.
>> I had the other issue about not finding the message for the en_US locale
vertica.ini should solve this issue but the problem not in LOCALE, problem in ErrorMessagesPath.
You should define path to ODBCMessages.xml (which is error messages file) in connection string.
-
- Newbie
- Posts: 4
- Joined: Mon Oct 29, 2012 6:33 pm
Re: SQLGetPrivateProfileString
Its definitely finding ODBCMessages.xml because I added XXX to the message text in the file and now its displaying the text that I changed.
DBI connect('TCCVRTS1','',...) failed: [unixODBC][Vertica][ODBC] (11560) Unable to locate XXXSQLGetPrivateProfileString function. (SQL-HY000) at tom_vertica.pl line 87
Any other suggestions?
DBI connect('TCCVRTS1','',...) failed: [unixODBC][Vertica][ODBC] (11560) Unable to locate XXXSQLGetPrivateProfileString function. (SQL-HY000) at tom_vertica.pl line 87
Any other suggestions?
- JimKnicely
- Site Admin
- Posts: 1825
- Joined: Sat Jan 21, 2012 4:58 am
- Contact:
Re: SQLGetPrivateProfileString
Hi,
Did you set up the VERTICAINI environment variable?
Thanks!
Did you set up the VERTICAINI environment variable?
Thanks!
Jim Knicely
Note: I work for Vertica. My views, opinions, and thoughts expressed here do not represent those of my employer.
Note: I work for Vertica. My views, opinions, and thoughts expressed here do not represent those of my employer.
-
- Newbie
- Posts: 4
- Joined: Mon Oct 29, 2012 6:33 pm
Re: SQLGetPrivateProfileString
VERTICAINI is set.
ux411:/mks/tcc/ort/bin/shell > more $VERTICAINI
[Driver]
Locale = en_US
ODBCInstLib = /apps/local/unixODBC/lib/libodbcinst.so.1
ErrorMessagesPath = /apps/vertica/odbc/lib64/
DriverManagerEncoding = UTF-8
LogPath = /tmp
LogLevel = 7
ux411:/mks/tcc/ort/bin/shell > more $VERTICAINI
[Driver]
Locale = en_US
ODBCInstLib = /apps/local/unixODBC/lib/libodbcinst.so.1
ErrorMessagesPath = /apps/vertica/odbc/lib64/
DriverManagerEncoding = UTF-8
LogPath = /tmp
LogLevel = 7
- JimKnicely
- Site Admin
- Posts: 1825
- Joined: Sat Jan 21, 2012 4:58 am
- Contact:
Re: SQLGetPrivateProfileString
Hi,
Here's my ini file:
[root@HADOOPTST01 jknicely]# cat /etc/vertica.ini
[Driver]
DriverManagerEncoding=UTF-16
ODBCInstLib=/usr/lib64/libodbcinst.so
ErrorMessagesPath=/opt/vertica/lib64
LogLevel=4
LogPath=/tmp
Are you sure about the ErrorMessagesPath setting in your ini file?
Here's my ini file:
[root@HADOOPTST01 jknicely]# cat /etc/vertica.ini
[Driver]
DriverManagerEncoding=UTF-16
ODBCInstLib=/usr/lib64/libodbcinst.so
ErrorMessagesPath=/opt/vertica/lib64
LogLevel=4
LogPath=/tmp
Are you sure about the ErrorMessagesPath setting in your ini file?
Jim Knicely
Note: I work for Vertica. My views, opinions, and thoughts expressed here do not represent those of my employer.
Note: I work for Vertica. My views, opinions, and thoughts expressed here do not represent those of my employer.
-
- Newbie
- Posts: 4
- Joined: Mon Oct 29, 2012 6:33 pm
Re: SQLGetPrivateProfileString
Thanks all. The problem was the wrong directory for the odbclib
I had the 32bit version. Once I changed it to the 64bit version everything is ok.
ODBCInstLib = /apps/local/unixODBC_64/lib/libodbcinst.so.1
I had the 32bit version. Once I changed it to the 64bit version everything is ok.
ODBCInstLib = /apps/local/unixODBC_64/lib/libodbcinst.so.1