2010-05-25 4 views
2

Suivez les instructions sur le wiki Rails et avez réussi à vous connecter à SQL Server 2000 avec TSQL - à la fois avec des connexions sans DSN et DNS. Je cours Mac OS X 10.6.3.Rails - Problèmes MS-SQL Server (unixODBC, FreeTDS) sur Mac 10.6

Wiki instructions here.

installé ruby-odbc, dbi (0.4.0), DBD-odbc (2.4.5), activerecord-sqlserver-adaptateur (2.3.5).

Dans mon database.yml (Rails 2.3.6):

development: 
    adapter: sqlserver 
    mode: ODBC 
    dsn: 'DRIVER=/usr/local/lib/libtdsodbc.so;TDS_Version=8.0;SERVER=mssql01.discountasp.net;DATABASE=DB_164368_dmusd;Port=1433;uid=DB_164368_dmusd_user;pwd=Schools77;' 

Cela donne l'erreur suivante: ODBC :: Erreur: S1090 (0) [unixODBC] [Driver Manager] chaîne non valide ou tampon longueur

Lorsque je tente d'utiliser une connexion DSN, je reçois l'erreur suivante: ODBC :: erreur: IM002 (0) [unixODBC] [driver Manager] nom de la source de données introuvable et aucun pilote par défaut spécifié

J'ai en effet vérifié que le pilote FreeTDS (libtdsodbc.so) est installé et le chemin correct.

Quelqu'un peut-il repérer l'erreur de mes habitudes? Merci d'avance.

Répondre

1

Je diviser la configuration entre:

freetds.conf 

[somesqlserver] 
host = HOST_ADDRESS 
port = 1433 
tds version = 8.0 # for SQL2000  

et

odbc.ini 

[server_connection] 
Driver = /usr/local/lib/libtdsodbc.so 
Server = ip_address_of_server 
Database = database_name 
client charset = UTF-8 #needed only on osx 

dans database.yml

development: 
adapter: sqlserver 
mode: odbc 
dsn: server_connection 
username: your_username 
password: your_password 

Very good article for reference on osx but easily adaptable to unix

0

Je conseille vivement que vous oubliez UnixODBC sur Mac OS X. Au lieu de cela, mettez à jour les composants iODBC à the latest version. IODBC - le gestionnaire de pilotes ODBC open source Apple a choisi d'expédier avec Mac OS X - vient de la même source que l'open source ODBC Adapter for Ruby on Rails - OpenLink Software.

Il peut également être utile de tester, voire de déployer, avec un pilote ODBC commercial, tel que that from OpenLink. Cela peut aider à affiner la source des erreurs que vous rencontrez en essayant d'utiliser un pilote "sans coût". ObDisclaimer: Je travaille pour OpenLink Software, mais je ne bénéficie pas directement de quiconque choisit d'utiliser nos produits.

+0

Vous devez divulguer votre affiliation au moment de recommander des produits commerciaux produits par votre employeur. –

Questions connexes