2010-01-11 10 views
5

Quel est le chemin de moindre résistance pour obtenir une application SBCL s'exécutant sous Windows pour se connecter à une instance SQL Server, à l'aide de l'authentification intégrée?Connexion de SBCL sous Windows à SQL Server à l'aide de l'authentification intégrée

J'ai trouvé des messages sur la connexion de CL-SQL à SQL Server en utilisant des connexions ODBC mais pour autant que je sache, il n'y a aucun moyen d'y parvenir sans d'abord configurer manuellement un DSN.

Existe-t-il un moyen simple d'accomplir ceci?

Répondre

2

Il existe une bibliothèque cl-mssql qui utilise FreeTDS pour communiquer avec le serveur MSSQL. Selon http://www.freetds.org/userguide/domains.htm, FreeTDS utilisera l'authentification intégrée si vous spécifiez le login comme 'DOMAIN \ Username'. Cela peut donc marcher avec cl-mssql (bien que je ne l'utilise pas).

+0

J'ai rencontré des problèmes de dll lors de la configuration de Windows, mais j'aimerais revenir sur cette solution. Entre-temps, j'ai utilisé avec succès la méthode plain-odbc, détaillée séparément pour commentaire et référence future. – futuranon

2

Le chemin de moindre résistance pour cela (SBCL, Windows, no-DSN) semble être plain-odbc.

(asdf:load-system :plain-odbc) 
(use-package :plain-odbc) 
(setf conn (connect-generic :driver "{SQL Server}" 
          :database "dbname" 
          :server "servername" 
          :trusted_connection "yes")) 
(exec-query conn "select * from some_table") 

Ne pas utiliser (connecter-sql-server ...) car elle nécessite une source de données par défaut, * default-sql-server-dsn *.

Il peut également exister un meilleur pilote à spécifier.

+0

En avril 2015, la page de projet de plain-odbc est en panne, et un peu de googling n'a jusqu'ici rien donné. –