odbc impossible de se connecter à la source de données MSSQL sur OS X Lion
odbc isql
a été incapable de se connecter à la source de données:
$ isql SMS_GTWY username password -v
retourne:
[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[01000][unixODBC][FreeTDS][SQL Server]Unknown host machine name.
[ISQL]ERROR: Could not SQLConnect
tout tsql
est ok:
$ tsql -S SERVER001 -U username -P password
retourne:
locale is "C/UTF-8/C/C/C/C"
locale charset is "UTF-8"
using default charset "UTF8"
1>
$ cat ~/.freetds.conf
:
[SERVER001]
host = 192.168.8.101
port = 1433
tds version = 8.0
client charset = UTF8
$ cat ~/.odbc.ini
:
[SMS_GTWY]
Description = SERVER001 Server
Driver = freetds
Database = SMS_GTWY
ServerName = SERVER001
TDS_Version = 7.1
$ cat ~/.odbcinst.ini
:
[freetds]
Description = MS SQL database access with FreeTDS
Driver = /usr/local/lib/libtdsodbc.so
Setup = /usr/local/lib/libtdsodbc.so
UsageCount = 1
freetds
et unixODBC
sont installer par la maisonbrew
.
J'en ai un similaire installation sur CentOS et odbc isql pour mssqlserver fonctionne bien. Il y a une différence appréciable, je ne vois pas un libtdsS.so
installé sur OS X.
# cat /etc/odbcinst.ini
sur CentOS:
[freetds]
Description = MS SQL database access with FreeTDS
Driver = /usr/lib/libtdsodbc.so
Setup = /usr/lib/libtdsS.so
UsageCount = 1
Est que la cause du problème?
p.s. $ odbcinst -j
retourne:
unixODBC 2.3.1
DRIVERS............: /usr/local/Cellar/unixodbc/2.3.1/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/Cellar/unixodbc/2.3.1/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/Cellar/unixodbc/2.3.1/etc/ODBCDataSources
USER DATA SOURCES..: /Users/horace/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
$ odbcinst -q -d
retourne:
[freetds]
$ odbcinst -q -s
retourne:
[SMS_GTWY]
OriginalL'auteur ohho | 2012-12-14
Vous devez vous connecter pour publier un commentaire.
isql
œuvres après la réinstallationunixodbc
etfreetds
(--with-unixodbc
):Maintenant,
$ isql -v SMS_GTWY username password
retourne:De crédit: https://gist.github.com/565440
Je vous remercie. J'ai aussi eu ce problème. La réinstallation
OriginalL'auteur ohho
Ok. J'ai perdu deux jours sur ce bien, mais ne souhaitez pas utiliser l'Homebrew ou MacPorts. L'astuce consiste à créer FreeTDS avec le unixODBC commutateur. Cela génère le pilote odbc (xxx.donc) qui n'est pas généré autrement. Pour commencer, vous aurez besoin
XCode et les Outils de Ligne de Commande déjà installé. Beaucoup de ressources sur le web pour montrer comment le faire.
Voici les étapes que j'ai pris.
À partir d'un terminal invite à naviguer dans le FreeTDS répertoire et tapez les commandes suivantes.
./configurer --with-unixodbc=noté chemin à l'Étape 4
faire
sudo make install
Lorsque vous avez terminé, tout devrait être dans /usr/local/. Votre pilote devrait être dans /usr/local/lib. Modifier les paramètres de votre fichiers dans /usr/local/etc. Espérons que cette aide.
OriginalL'auteur user2980188
Pour tous ceux qui utilisent MacPort, la seule partie différente de ci-dessus est l'installation de FreeTDS de cette façon:
et la bibliothèque de pilotes sera ici:
OriginalL'auteur 彭昱中