python - Python:PYODBC 连接链接错误 08S01
问题描述
我正在尝试使用 pyodbc 连接到我的 sql server db 并创建一个表。我收到以下错误:
cursor.execute(query1)
cnxn.commit()
Traceback (most recent call last):
File "<ipython-input-6-2e608ee67d50>", line 3, in <module>
cursor.execute(query1)
OperationalError: ('08S01', '[08S01] [Microsoft][ODBC Driver 17 for SQL Server]Communication link failure (0) (SQLExecDirectW)')
我不确定为什么我不能连接到 sql server 并创建一个表,但是我可以使用 SELECT 语句从数据库中提取数据。任何人都可以建议吗?
from datetime import date
import pandas as pd
import pyodbc
import numpy as np
"""
for driver in pyodbc.drivers():
print(driver)
"""
#define the server name, database and login credentials
server = '#########'
database ='########'
username='########'
password='########'
#define connection string
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server}; \
SERVER=' + server +';\
DATABASE='+ database +';\
UID='+ username +';\
PWD='+ password +';')
cursor = cnxn.cursor()
#pyodbc.drivers()
#SQL select query to call the table Test_M_Data
sql = "SELECT TOP 1000 * FROM vintage_data"
df = pd.read_sql(sql,cnxn)
#there's python code in between but it all works fine. the problem is down below...
query1 = "CREATE TABLE Onalerona.[dbo].vintage_data_2 \
([ConsumerID] float,[IDno] varchar(50),[SubscriberID] numeric(11,0),\
[OpeningBalanceAmt] numeric(19,4),[AccountOpenedDate] varchar,\
[RetroDate] varchar,[status1] varchar(8),[status2] varchar(8),\
[status3] varchar(8),[status4] varchar(8),[status5] varchar(8),\
[status6] varchar(8),[status7] varchar(8),[status8] varchar(8),\
[status9] varchar(8),[status10] varchar(8),[status11] varchar(8),\
[status12] varchar(8),[status13] varchar(8),[status14] varchar(8),\
[status15] varchar(8),[status16] varchar(8),[status17] varchar(8),\
[status18] varchar(8),[status19] varchar(8),[status20] varchar(8),\
[status21] varchar(8),[status22] varchar(8),[status23] varchar(8),\
[status24] varchar(8),[ukey] varchar(150),\
[stat1] varchar(8),[stat2] varchar(8),\
[stat3] varchar(8),[stat4] varchar(8),[stat5] varchar(8),\
[stat6] varchar(8),[stat7] varchar(8),[stat8] varchar(8),\
[stat9] varchar(8),[stat10] varchar(8),[stat11] varchar(8),\
[stat12] varchar(8),[stat13] varchar(8),[stat14] varchar(8),\
[stat15] varchar(8),[stat16] varchar(8),[stat17] varchar(8),\
[stat18] varchar(8),[stat19] varchar(8),[stat20] varchar(8),\
[stat21] varchar(8),[stat22] varchar(8),[stat23] varchar(8),\
[stat24] varchar(8), [Months_Diff] int, [Month_Opened] varchar,\
[FirstArrears] varchar), [Retailer] varchar"
cursor.execute(query1)
cnxn.commit()
如前所述,我的 SELECT 查询顶部工作正常,我可以将表拉入 python 并处理它,但是我似乎无法创建一个新表。
解决方案
推荐阅读
- python - 我的 Python GUI 没有正确标记所有关键字
- java - Android Firebase 数据库异常:未定义无参数构造函数
- java - 如何将 iText LIST 放在具有特定字体和对齐方式的绝对位置上?
- reactjs - 自动反应按下按钮
- knockout.js - knockoutjs:我遇到了这个错误 Uncaught TypeError: Cannot read property 'messages' of undefined
- java - 索引越界异常java
- jira - 使用 API 与 JIRA 集成应用程序
- json - CloudFormation 上的简单 StackPolicy 始终无效
- django - 在生产模式下在 Django 中上传图像/文件
- regex - 在分隔符正则表达式之后保留空间