Python:SQL炼金术创建引擎语法问题

2024-07-03 06:28:55 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有MSSQL服务器的以下连接信息:

 'Driver={SQL Server};' 
 'Server=VCAB18RPACRGZ12\GNRSRZ11,1414;' 
 'Database=sampleDB;' 
 'uid=sampleID;' 
 'pwd=samplePW'

我想将python数据帧作为表写入MSSQL服务器。我有以下代码:

^{pr2}$

我上面的连接代码出错了。我不确定我的连接信息在create_engine语句中的确切位置。在

这是我的错误。。。在

ValueError: invalid literal for int() with base 10:
'VCAB18RPACRGZ12\GNRSRZ11,1414'


Tags: 代码服务器信息sqluidserverdriverpwd
1条回答
网友
1楼 · 发布于 2024-07-03 06:28:55

Your Server Address is not correct. If 1414 is the port#, you should use ":" instead of ",".

SQLAlchemy使用pyodbc作为默认DBAPI。pymssql也可用。 下面是连接字符串示例:

# pyodbc -DSN
engine = create_engine('mssql+pyodbc://scott:tiger@mydsn')

# pymssql
engine = create_engine('mssql+pymssql://scott:tiger@hostname:port/dbname')

# pyodbc -DSN Less connection
from sqlalchemy import create_engine
#assumes driver name=[SQL+Server+Native+Client+10.0]
#engine = create_engine('mssql+pyodbc://username:password@hostname:port/databasename?driver=SQL+Server+Native+Client+10.0')

engine = create_engine(r'mssql+pyodbc://sampleID:samplePW@VCAB18RPACRGZ12\GNRSRZ11:1414/sampleDB?driver=SQL+Server+Native+Client+10.0')
print engine

相关问题 更多 >