我已经使用pyodbc建立了到sql server的连接,但是现在我尝试使用sqlalchemy连接它,但是我得到了这个错误。
raise exc.ArgumentError(
sqlalchemy.exc.ArgumentError: Could not parse rfc1738 URL from string 'Driver={sql server};Server=L39;Database=master;Trusted_Connection=true;'
Process finished with exit code 1这就是我为pyodbc所做的工作
import pyodbc
conn = pyodbc.connect('Driver={sql server};'
'Server=L39;'
'Database=master;'
'Trusted_Connection=true;')我需要这样做
from sqlalchemy import create_engine
engine = create_engine()发布于 2022-07-18 11:39:44
如果您有一个工作的ODBC连接字符串
connection_string = (
'Driver=ODBC Driver 17 for SQL Server;'
'Server=L39;'
'Database=master;'
'Trusted_Connection=Yes;'
)您可以很容易地使用它创建一个SQLAlchemy引擎:
from sqlalchemy import create_engine
from sqlalchemy.engine import URL
connection_url = URL.create(
"mssql+pyodbc",
query={"odbc_connect": connection_string}
)
engine = create_engine(connection_url)发布于 2022-07-18 10:10:51
SQL使用URL连接,而不是连接字符串(这正是pyodbc所期望的)。
这里是您需要的文档:https://docs.sqlalchemy.org/en/14/core/engines.html#microsoft-sql-server
为了子孙后代,在这里复制相关片段:
数据库URL的典型形式是:
dialect+driver://username:password@host:port/database Server方言使用pyodbc作为默认DBAPI。pymssql也可用:pyodbc引擎= create_engine('mssql+pyodbc://scott:tiger@mydsn') # pymssql engine = create_engine('mssql+pymssql://scott:tiger@hostname:port/dbname')
https://stackoverflow.com/questions/73019853
复制相似问题