powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Научите настроить ODBC соединение в Linux
18 сообщений из 18, страница 1 из 1
Научите настроить ODBC соединение в Linux
    #39730122
Фотография Bimon Subio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть описания подобные:
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
Научите настроить ODBC соединение в Linux
    #39730168
Фотография Bimon Subio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Научите настроить ODBC соединение в Linux
    #39730270
Фотография Bimon Subio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Научите настроить ODBC соединение в Linux
    #39730273
Фотография Bimon Subio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой то идиотизм ни DotNet ни ODBC нормально не работает и такие проблемы у многих судя по форумам.

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


Должно быть:

Код: plaintext
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/ibm/db2/V10.5/lib32
...
Рейтинг: 0 / 0
Научите настроить ODBC соединение в Linux
    #39730329
Фотография Bimon Subio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Научите настроить ODBC соединение в Linux
    #39730341
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bimon Subio,

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

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

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

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

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

/home/db2inst/sqllib/lib32 -> /opt/ibm/db2/V10.5/lib32
...
Рейтинг: 0 / 0
Научите настроить ODBC соединение в Linux
    #39730382
Фотография Bimon Subio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Научите настроить ODBC соединение в Linux
    #39730384
Фотография Bimon Subio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Научите настроить ODBC соединение в Linux
    #39730385
Фотография Bimon Subio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark BarinsteinЕще раз приведите содержимое ini файлов, а то там пути к библиотекам всё время разные.

там линки в конечном итоге в одно и тоже место идут
...
Рейтинг: 0 / 0
Научите настроить ODBC соединение в Linux
    #39730442
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Научите настроить ODBC соединение в Linux
    #39730528
Фотография Bimon Subio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Научите настроить ODBC соединение в Linux
    #39730569
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Научите настроить ODBC соединение в Linux
    #39730582
Фотография Bimon Subio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark BarinsteinУ вас 64-bit приложение, а вы пытаетесь использовать 32-bit драйвер db2...


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

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

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

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


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