tags:

views:

82

answers:

0

I am accessing a database on another machine from an OS X server. After setting up freetds through macports and creating the freetds.conf file like so:

dump file = /tmp/freetds.log
# nunb our Microsoft server
[winnt]
        host = 192.168.0.2 
        port = 1433
        tds version = 8.0

I have the following test commands that work:

Test freetds works:

tsql -S winnt -U sa
1> use myDB;
2> select count (*) from "sysObjects";
3> go

ODBC is setup through /Applications/Utilities/ODBC\ Administrator.app, with dsn "gmb" using the freeTDS driver and a ServerName of "winnt" -- testing it yields:

iodbctest "dsn=gmb;uid=sa;pwd=foo"
SQL>select count (*) from "sysObjects";

=> 792

Now I run the following code in lisp:

(require 'asdf)
(setf asdf:*central-registry* nil)
(push #P"/Users/way/ff/clbuild/systems/"  asdf:*central-registry*)

(asdf:oos 'asdf:load-op 'cffi)
(asdf:oos 'asdf:load-op 'clsql)

(asdf:operate 'asdf:test-op 'cffi)
(asdf:oos 'asdf:load-op 'clsql-odbc)
(asdf:oos 'asdf:test-op 'clsql-odbc)

(in-package :clsql-user)

(connect '("gmb" "sa" "foo") :database-type :odbc) 

This drops me in the debugger with the error:

debugger invoked on a SQL-DATABASE-ERROR in thread #<THREAD "initial thread" RUNNING {1194EA31}>:
  A database error occurred: NIL / IM002
  [iODBC][Driver Manager]Data source name not found and no default driver specified. Driver could not be loaded

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL