clisp, plain-odbc и подключение к базе данных сервера sql - PullRequest
1 голос
/ 23 ноября 2011

У меня проблемы с подключением к базе данных сервера sql из коробки openbsd с использованием unixODBC. Когда я использую isql, я прекрасно справляюсь:

$ isql localProdSqlServer jegdemir GBE#oct 
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> 

, поэтому я знаю, что DSN настроен и unixODBC работает правильно. Однако когда я открываю clisp и пытаюсь подключиться с помощью plain-odbc, я не могу туда добраться:

$ clisp

<..snip..>>

[1]> (asdf:oos 'asdf:load-op :plain-odbc)

<..snip..>

[2]> (setf *con* (plain-odbc:connect "localProdSqlServer" "jegdemir" "GBE#oct")) 
*** - [unixODBC][FreeTDS][SQL Server]Unable to connect to data source, error
      code 0, State: S1000.
The following restarts are available:
ABORT          :R1      Abort main loop
Break 1 [3]> 

Я довольно новичок в Лиспе, поэтому у меня возникли проблемы с диагностикой проблемы. Любая помощь будет наиболее ценной.

1 Ответ

1 голос
/ 06 июля 2012

В зависимости от того, как работает plain-odbc, вам может потребоваться указать DSN в /etc/odbc.ini, например:

[localProdSqlServer]
Driver          = FreeTDS
Description     = localProdSqlServer TDS driver (Sybase/MS SQL)
Trace           = No
Servername      = localProdSqlServer
Database        = DATABASE_NAME

В качестве альтернативы, CLSQL Библиотека имеет серверную часть ODBC , которая поддерживает строки подключения:

(clsql:connect '("friendly-server-name" "friendly-username" "" 
     :connection-string "DRIVER={FreeTDS};SERVER=localProdSqlServer;DATABASE=DATABASE_NAME;UID=jegdemir;PWD=GBE#oct;PORT=1433;TDS_Version=8.0;APP=clsql") 
           :database-type :odbc)

На работе я все время использую CLSQL для подключения к SQL Server.

...