Я пытаюсь получить доступ к нашей базе данных AS400 с помощью Ruby on Rails, используя драгоценный камень «dbi» и драгоценный камень «dbd-odbc».AS400 с Ruby on Rails
Я нашел этот код для создания. Когда я передаю адрес сервера ... Кажется, что в исходном коде используется DSN, но я хотел передать в IP, имя базы данных и библиотеку кода, чтобы предотвратить необходимость любого DSN.
require 'dbi'
dbh = DBI.connect('DBI:ODBC:SYSTEM=<ip_address>;DBQ=<db_name>;DFTPKGLIB=<library_name>;LANGUAGEID=ENU', 'UID=<user_name>', 'PWD=<password>')
sth = dbh.prepare('select count(*) from my_table')
sth.execute
# Print out each row
while row=sth.fetch do
p row
end
sth.finish
dbh.disconnect
это дает мне ошибку ...
DBI::InterfaceError: Unable to load driver 'ODBC'
что будет правильный синтаксис?
Я был под впечатлением, что с DBI драгоценного камнем и сделали-ODBC драгоценного камня не было никакой необходимости иметь установлен DSN на сервер. Я в настоящее время в разработке, и я не хочу этого делать, поэтому мне придется полагаться на производственный сервер для установки DSN. Правильно ли я полагаю, что DSN не понадобится, если драйверы dbi и did-odbc имеют драйвер? – Beengie
DSN - это, по сути, всего лишь часть строки подключения с именем. Вы должны были убедиться, что на сервере установлен драйвер. – clutton
Изменила ли строка подключения? – clutton