pydobc连接sql server_python – PyOdbc无法连接到SQL Server实例

我试图使用

Python 2.7(32位)在Windows 7上使用pyodbc 3.0.6.,SQLAlchemy 1.0.4连接到sql server实例.我正在使用如下连接字符串

DRIVER={SQL Server};SERVER=mymachinename;DATABASE=mydb;UID=sa;PWD=admin1;

但我一直收到这个错误

Could not parse rfc1738 URL from string ‘DRIVER={SQL Server};SERVER=mymachinename;DATABASE=mydb;UID=sa;PWD=admin1’

我正在使用与sqlSoup.Something这样的连接字符串

db = sqlsoup.SQLSoup(connectionstring)

编辑

我尝试使用SqlAlchemy中的Automap,它也失败并显示相同的消息

Traceback (most recent call last):

File “C:\Sandbox\Python scripts\BumpValues\newConnectivityTest.py”, line 7, in

engine = create_engine(“DRIVER={SQL Server};SERVER=gagan;DATABASE=persons;UID=sa;PWD=admin1;”)

File “C:\Python27\lib\site-packages\sqlalchemy\engine__init__.py”, line 386, in create_engine

return strategy.create(*args, **kwargs)

File “C:\Python27\lib\site-packages\sqlalchemy\engine\strategies.py”, line 49, in create

u = url.make_url(name_or_url)

File “C:\Python27\lib\site-packages\sqlalchemy\engine\url.py”, line 176, in make_url

return _parse_rfc1738_args(name_or_url)

File “C:\Python27\lib\site-packages\sqlalchemy\engine\url.py”, line 225, in _parse_rfc1738_args

“Could not parse rfc1738 URL from string ‘%s’” % name)

sqlalchemy.exc.ArgumentError: Could not parse rfc1738 URL from string ‘DRIVER={SQL Server};SERVER=gagan;DATABASE=persons;UID=sa;PWD=admin1;’

[Finished in 0.4s with exit code 1]

[shell_cmd: python -u “C:\Sandbox\Python scripts\BumpValues\newConnectivityTest.py”]

我的代码如下

from sqlalchemy.ext.automap import automap_base

from sqlalchemy.orm import Session

from sqlalchemy import create_engine

Base = automap_base()

engine = create_engine("DRIVER={SQL Server};SERVER=gagan;DATABASE=persons;UID=sa;PWD=admin1;")

Base.prepare(engine, reflect=True)

usrs = Base.classes.users

print(usrs)

能告诉我这里我做错了什么吗?

编辑

我认为这不是布莱恩提出的问题的副本.例如,我遵循问题​​中建议的相同示例

import sqlalchemy as sa

engine = sa.create_engine('mssql+pyodbc://sa:admin1@gagan/persons')

但即使它失败了相同的消息

这是快照..

第一个使用类型为“’mssql pyodbc:// user:password @ server / database’”的连接字符串

而第二个使用类型的连接字符串

‘DRIVER = {SQL Server}; SERVER = gagan; DATABASE = people; UID = sa; PWD = admin1;

谢谢

最佳答案 好的,这似乎解决了这个问题

import urllib

connection_string = "DRIVER={SQL Server};Database=people;SERVER=gagan;UID=sa;PWD=admin1"

connection_string = urllib.quote_plus(connection_string)

connection_string = "mssql+pyodbc:///?odbc_connect=%s" % connection_string

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值