Jac*_*ian 4 python sql-server pymssql
我无法在 Windows 10 上从 Python(3.4.4 64 位)连接到 SQL Server。这就是我所做的:
easy_install pymssql因此,此时我可以使用 SQL Server Management Studio 运行 SQL Server 并连接到我的数据库。当我登录时,我使用DESKTOP-1JA5E9F\SQLEXPRESS服务器名称、sa登录名和123密码。此外,在 Python shell 中,我可以pymssql像这样导入:
>>> import pymssql
Run Code Online (Sandbox Code Playgroud)
它不会引发任何错误。但是,我无法连接到我的数据库实例。我尝试了几十次尝试,例如:
conn = pymssql.connect(host=r'DESKTOP-1JA5E9F\SQLEXPRESS',
user=r'sa', password=r'123', database=r'reestr')
Run Code Online (Sandbox Code Playgroud)
^^^ 上面的代码永远不会完成(我看到只是_在外壳中闪烁,那是永远闪烁)。我也试过这个:
conn = pymssql.connect(host=r'SQLEXPRESS', user=r'sa', password=r'123', database=r'reestr')
Run Code Online (Sandbox Code Playgroud)
这导致pymssql.InterfaceError: Connection to the database failed for an unknown reason.. 我试过这个:
conn=pymssql.connect(host=r'SQLEXPRESS:1433',user=r'sa',password=r'123', database=r'reestr')
Run Code Online (Sandbox Code Playgroud)
它也会导致相同的错误消息。所以,如果有人知道那些可以做到这一点的魔法伏都教法术,欢迎你。
根据docs,host不再有关键字 arg ,但是server. 它也应该是服务器名称,而不是实例名称或完整的实例名称(带有服务器名称)。请参阅connect()说明和类名称构造示例Connection。
在你的情况服务器名称DESKTOP-1JA5E9F,也.和(local)应工作,因为你做的这一切在本地机器; 您的命名实例名称是SQLEXPRESS.
像这样尝试:
import pymssql
#for instance with known name 'SQLEXPRESS'
conn = pymssql.connect(server=r'DESKTOP-1JA5E9F\SQLEXPRESS',
user=r'sa', password=r'123', database=r'reestr')
#on localhost this should work too
conn = pymssql.connect(server=r'.\SQLEXPRESS',
user=r'sa', password=r'123', database=r'reestr')
#for default instance with port taken from freetds.conf
#(this probably won't work for your case, because you use named instance
#instead of default instance, which is named MSSQLSERVER)
conn = pymssql.connect(server=r'DESKTOP-1JA5E9F', user=r'sa', password=r'123',
database=r'reestr')
#for instance on known port '1433'
conn = pymssql.connect(server=r'DESKTOP-1JA5E9F:1433', user=r'sa', password=r'123',
database=r'reestr')
Run Code Online (Sandbox Code Playgroud)
如果这不会帮助,请测试连接tsql如在该文档中描述的,例如:
tsql -H DESKTOP-1JA5E9F -p 1433 -U sa -P 123 -D reestr
Run Code Online (Sandbox Code Playgroud)
或者如果你有freetds.conf:
tsql -S 'DESKTOP-1JA5E9F\SQLEXPRESS' -U sa -P 123 -D reestr
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4469 次 |
| 最近记录: |