2017-07-18 3 views
1

Je veux vous connecter à la base de données MSSQL avec odbc.ini suivante:unixODBC + pilote ODBC 13

[ODBC Driver 13 for SQL Server] 
Description=Microsoft ODBC Driver 13 for SQL Server 
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.1.so.9.0 
Trace=yes 
TraceFile=/db.log 
User=[user] 
Password=[password] 
Server=[server]\[instance] 
Database=[db_name] 
UsageCount=5 

Je suis en mesure de se connecter à la DB de PyCharm, si les pouvoirs doivent être bien. Tout est installé dans le vagabondage avec Debian 8 et la version unixODBC est 2.3.1. Message d'erreur est le suivant:

[HYT00][unixODBC][Microsoft][ODBC Driver 13 for SQL Server]Login timeout expired 
[08001][unixODBC][Microsoft][ODBC Driver 13 for SQL Server]MAX_PROVS: Error Locating Server/Instance Specified [xFFFFFFFF]. 
[08001][unixODBC][Microsoft][ODBC Driver 13 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. 
[ISQL]ERROR: Could not SQLConnect 

Je n'ai pas le fichier db.log et je ne sais pas comment compris où est le problème. Quand j'essaye de cingler le serveur du vagabond tout fonctionne bien. J'essaie aussi l'outil sqlcmd sur windows et aussi sur ubuntu 16.04 en dehors de vagabond. Sur Windows tout fonctionne bien mais sur Ubuntu même erreur se produit. Commande:

sqlcmd -S [server]\[instance] -U [user] -d [table_name] -P [password] 

Avez-vous des conseils à tracer ou déboguer ce problème?

Répondre

0

J'ai trouvé la réponse sur DBA. donc sur Linux DonT commande de travail:

sqlcmd -S [server]\[instance] -U [user] -d [table_name] -P [password] 

juste

sqlcmd -S [server],[port] -U [user] -d [table_name] -P [password] 

Et vous devez savoir ce port en quelque sorte. Après cela aussi Pyodbc commencer à travailler