Гость
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Научите настроить ODBC соединение в Linux / 18 сообщений из 18, страница 1 из 1
08.11.2018, 20:46
    #39730122
Bimon Subio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
Есть описания подобные:
https://www-01.ibm.com/support/docview.wss?uid=swg21692171

Я ставил DB2ExpressC Free (инстоляха сервера DB2) на сервере и клиенте.
Т.е. отдельно небольшую инстоляху клиента не скачивал, а просто поставил на клиентском хосте серверный продукт (ExpressC).

Закаталогизировал, проверил соединение все нормально.

Дальше пытаюсь настроить линуксовый ODBC.

cat /etc/odbcinst.ini

[DB2]
Driver=/usr/lib/libdb2.so
Description=DB2 ODBC Driver
Fileusage=1
Dontdlclose=1


cat .odbc.ini

PROMO=IBM DB2 ODBC DRIVERCopy

[DBNAME]
Driver=/opt/ibm/db2/V10.5/lib64/libdb2.so
Description=DBNAME Database

/opt/ibm/db2/V10.5/dsdriver > ls
php32 php64 python32 python64 ruby32 ruby64

/opt/ibm/db2/V10.5/dsdriver > cat db2dsdriver.cfg
<configuration>

<dsncollection>

<dsn alias="DBNAME" name="DBNAME" host="HOST" port="50003"> </dsn>

<databases>
<database name="DBNAME" host="HOST" port="50003">
</database>
</databases>
</configuration>



isql DBNAME user password
[ISQL]ERROR: Could not SQLConnect


Как его настроить?
...
Рейтинг: 0 / 0
08.11.2018, 22:25
    #39730168
Bimon Subio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
db2cli writecfg add -dsn PROMO -database PROMO -host HOST -port 50003

db2cli validate -dsn PROMO

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
===============================================================================
Client information for the current copy:
===============================================================================
Client Package Type       : IBM DB2 Express-C
Client Version (level/bit): DB2 v10.5.0.7 (s151221/64-bit)
Client Platform           : Linux/X8664
Install/Instance Path     : /opt/ibm/db2/V10.5
DB2DSDRIVER_CFG_PATH value: <not-set>
db2dsdriver.cfg Path      : /home/db2inst/sqllib/cfg/db2dsdriver.cfg
DB2CLIINIPATH value       : <not-set>
db2cli.ini Path           : /home/db2inst/sqllib/cfg/db2cli.ini
db2diag.log Path          : /home/db2inst/sqllib/db2dump/db2diag.log

===============================================================================
db2dsdriver.cfg schema validation for the entire file:
===============================================================================

Success: The schema validation completed successfully without any errors.

===============================================================================
db2cli.ini validation for data source name "PROMO":
===============================================================================

[ Keywords used for the connection ]

Keyword                   Value
---------------------------------------------------------------------------
DATABASE                  PROMO
PROTOCOL                  TCPIP
PORT                      50003
HOSTNAME                  HOST
UID                       promo
PWD                       ******

===============================================================================
db2dsdriver.cfg validation for data source name "PROMO":
===============================================================================

Note: The requested data source name or a database name cannot be found in 
db2dsdriver.cfg file. The file is searched at 
"/home/db2inst/sqllib/cfg/db2dsdriver.cfg".

===============================================================================
The validation is completed.
===============================================================================



cat /home/db2inst/sqllib/cfg/db2dsdriver.cfg
Код: sql
1.
2.
3.
4.
5.
6.
7.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<configuration>
        <dsncollection>
          <dsn alias="PROMO" host="HOST" name="PROMO" port="50003"/></dsncollection>
        <databases>
          <database host="HOST" name="PROMO" port="50003"/></databases>
</configuration>




cat /home/db2inst/sqllib/cfg/db2cli.ini
Код: sql
1.
2.
3.
4.
5.
6.
7.
[PROMO]
Database=PROMO
Protocol=TCPIP
Port=50003
Hostname=HOST
UID=promo
PWD=xxx
...
Рейтинг: 0 / 0
09.11.2018, 07:23
    #39730270
Bimon Subio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
isql -vvv promo2 promo XXX

[01000][unixODBC][Driver Manager]Can't open lib '/opt/ibm/db2/V10.5/lib32/libdb2.so.1' : file not found
[ISQL]ERROR: Could not SQLConnect



file /opt/ibm/db2/V10.5/lib32/libdb2.so.1

/opt/ibm/db2/V10.5/lib32/libdb2.so.1: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=1035bb732691c671474c5f29425fac5add82078e, not stripped
...
Рейтинг: 0 / 0
09.11.2018, 07:25
    #39730273
Bimon Subio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
Какой то идиотизм ни DotNet ни ODBC нормально не работает и такие проблемы у многих судя по форумам.

Настроить MSSQL - 5 минут, DB2 уже 2 дня и неизвестно получится ли. Это нормально?
...
Рейтинг: 0 / 0
09.11.2018, 09:35
    #39730307
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
Bimon Subio,


Должно быть:

Код: plaintext
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/ibm/db2/V10.5/lib32
...
Рейтинг: 0 / 0
09.11.2018, 10:23
    #39730329
Bimon Subio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
LD_LIBRARY_PATH=/opt/ibm/db2/V10.5/lib32 isql -vvv promo2 promo XXX

[01000][unixODBC][Driver Manager]Can't open lib '/opt/ibm/db2/V10.5/lib32/libdb2.so.1' : file not found
[ISQL]ERROR: Could not SQLConnect
...
Рейтинг: 0 / 0
09.11.2018, 10:36
    #39730341
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
Bimon Subio,

Вы точно сделали export в текущей сессии?

Если да, до давайте по порядку.

Что именно из db2 вы поставили на клиента и какой битности?
Data Server Driver?
Express-C?
Какой бинтости unixODBC?

Еще раз приведите содержимое ini файлов, а то там пути к библиотекам всё время разные.
...
Рейтинг: 0 / 0
09.11.2018, 11:02
    #39730375
Bimon Subio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
set | grep LD

LD_LIBRARY_PATH=/home/db2inst/sqllib/lib64:/home/db2inst/sqllib/lib64/gskit:/home/db2inst/sqllib/lib32
...
Рейтинг: 0 / 0
09.11.2018, 11:05
    #39730379
Bimon Subio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
l /home/db2inst/sqllib/lib32

/home/db2inst/sqllib/lib32 -> /opt/ibm/db2/V10.5/lib32
...
Рейтинг: 0 / 0
09.11.2018, 11:07
    #39730382
Bimon Subio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
dpkg -al | grep odbc

[scr]
ii iodbc 3.52.9-2 amd64 GTK+ config frontend for the iODBC Driver Manager
ii libiodbc2:amd64 3.52.9-2 amd64 iODBC Driver Manager
ii libodbc1:amd64 2.3.4-1~bpo8+1 amd64 ODBC library for Unix
ii libodbc1:i386 2.3.4-1~bpo8+1 i386 ODBC library for Unix
ii libvirtodbc0 6.1.6+dfsg2-2 amd64 high-performance database - ODBC libraries
ii odbcinst 2.3.4-1~bpo8+1 amd64 Helper program for accessing odbc ini files
ii odbcinst1debian2:amd64 2.3.4-1~bpo8+1 amd64 Support library for accessing odbc ini files
ii odbcinst1debian2:i386 2.3.4-1~bpo8+1 i386 Support library for accessing odbc ini files
ii unixodbc 2.3.4-1~bpo8+1 amd64 Basic ODBC tools
ii unixodbc-dev 2.3.4-1~bpo8+1 amd64 ODBC libraries for UNIX (development files)
[/scr]
...
Рейтинг: 0 / 0
09.11.2018, 11:10
    #39730384
Bimon Subio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
Operating system information: Linux 4.9.0-0.bpo.7-amd64.#1 SMP Debian 4.9.110-3+deb9u2~deb8u1 (2018-08-14) x86_64

Product to install: DB2 Express-C
Installation type: Custom

Previously Installed Components:

Selected Components:
Base client support
Java support
SQL procedures
Base server support
DB2 LDAP support
DB2 Instance Setup wizard
Communication support - TCP/IP
Base application development tools

Languages:
English
All Products

Target directory: /opt/ibm/db2/V10.5

Space required: 1015 MB

DB2 Administration server:
Instance user information:
User name: dasusr1
Group name: dasadm1
Home directory: /home/dasusr1
...
Рейтинг: 0 / 0
09.11.2018, 11:11
    #39730385
Bimon Subio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
Mark BarinsteinЕще раз приведите содержимое ini файлов, а то там пути к библиотекам всё время разные.

там линки в конечном итоге в одно и тоже место идут
...
Рейтинг: 0 / 0
09.11.2018, 12:04
    #39730442
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
Bimon Subio,

Не понял ответов.

isql - 32-bit или 64-bit приложение?

Что выдают:
Код: plaintext
1.
file isql
db2level

У вас из-под пользователя, который isql запускает, из этой же сессии это работает?
Код: plaintext
db2cli -validate -dsn PROMO -connect -user  myuser  -passwd  mypassword 
...
Рейтинг: 0 / 0
09.11.2018, 13:10
    #39730528
Bimon Subio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
which isql
/usr/bin/isql

file /usr/bin/isql
/usr/bin/isql: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=d48a0d0e7d27af63285ae45f4bd8c4524cfcdf3f, stripped


db2level

DB21085I This instance or install (instance name, where applicable: "db2inst")
uses "64" bits and DB2 code release "SQL10057" with level identifier
"0608010E".
Informational tokens are "DB2 v10.5.0.7", "s151221", "IP23956", and Fix Pack
"7".
Product is installed at "/opt/ibm/db2/V10.5".


db2cli -validate запускал из той же сессии, что и isql
...
Рейтинг: 0 / 0
09.11.2018, 14:10
    #39730569
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
Bimon Subio,

Я спрашивал про результат моей db2cli -validate, а не откуда вы ее (или свою) запускали.
У вас 64-bit приложение, а вы пытаетесь использовать 32-bit драйвер db2...

У пользователя, из-под которого запускается isql должно быть в сессии:
Код: plaintext
1.
2.
# Тут выставляются правильно все переменные
. ~db2inst/sqllib/db2profile

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
cat ~db2inst/sqllib/cfg/db2dsdriver.cfg

<configuration>
  <dsncollection>
     <dsn alias="PROMO" host="HOST" name="PROMO" port="50003"/>
  </dsncollection>
  <databases>
    <database host="HOST" name="PROMO" port="50003"/>
  </databases>
</configuration>

Сначала надо добиться того, чтобы db2cli -validate -connect работало из-под этого пользователя, т.е. чтобы было:
Код: plaintext
1.
2.
3.
4.
5.
6.
...
===============================================================================
Connection attempt for data source name "PROMO":
===============================================================================

[SUCCESS]

Если оно не будет искать этот алиас в том файле, где вам надо (~db2inst/sqllib/cfg/db2dsdriver.cfg), то в сессии можно авно выставить дополнительно:
Код: plaintext
export DB2DSDRIVER_CFG_PATH=~db2inst/sqllib/cfg/db2dsdriver.cfg

Потом указать 64-bit библиотеку в odbc.ini, а то неудивительно, что 64-bit isql не грузит 32-bit библиотеку.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
cat ${ODBCINI}

[ODBC Data Source]
PROMO=IBM DB2 ODBC DRIVER

[PROMO]
Driver=/opt/ibm/db2/V10.5/lib64/libdb2.so
Description=MY PROMO
...
Рейтинг: 0 / 0
09.11.2018, 14:25
    #39730582
Bimon Subio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
Mark BarinsteinУ вас 64-bit приложение, а вы пытаетесь использовать 32-bit драйвер db2...


Марк, действительно проблема была в битности библиотеки.
Почему бы программе не сообщить об этом явно?

Огромное спасибо!
...
Рейтинг: 0 / 0
09.11.2018, 14:55
    #39730618
Bimon Subio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
Марк, может быть вы еще и проблему с DotNet провайдером поможете решить?

http://www.sql.ru/forum/1305034/ne-poluchaetsya-sozdat-obekt-ibm-data-db2-core-db2connection
...
Рейтинг: 0 / 0
09.11.2018, 15:25
    #39730658
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Научите настроить ODBC соединение в Linux
Bimon Subioдействительно проблема была в битности библиотеки.
Почему бы программе не сообщить об этом явно?
Обычно программы (как и driver manager в данном случае) не пытаются при неудачном вызове динамической загрузки библиотеки проявлять инициативу и искать библиотеку с другой битностью.

В DotNet я не разбираюсь...
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Научите настроить ODBC соединение в Linux / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]