[英]Table names with spaces - PYMSSQL and MSSQL
我正在使用pymssql python庫連接到MS SQL數據庫以提取數據。
一切正常,直到遇到帶空格的表名。
那是下面的代碼工作正常
import pymssql
conn = pymssql.connect(
server="11.11.11.11",
port=1433,
user="######",
password="######",
database="######")
cursor = conn.cursor(as_dict=True)
cursor.execute('SELECT * FROM Students')
雖然這段代碼不會
import pymssql
conn = pymssql.connect(
server="11.11.11.11",
port=1433,
user="######",
password="######",
database="######")
cursor = conn.cursor(as_dict=True)
cursor.execute('SELECT * FROM [Students Info]')
我嘗試使用“和`括起來,但是我收到的錯誤一直在
“無效的對象名稱'Students Info'.DB-Lib錯誤消息208,嚴重性16:\\ n常規SQL Server錯誤:檢查來自SQL Server的消息\\ n”)
我嘗試了多個帶有空格的表,它們始終給出此錯誤。
我還從CLI嘗試了以下操作
tsql -H 11.11.11.11 -p 1433 -U ####### -P ########
1> select * from [Students Info]
2> go
並且錯誤是
來自DAYMAP第1行的消息208(嚴重性16,狀態1):“無效的對象名稱'Student Info'。”
為了嘗試重現此錯誤,我首先創建了一個表並插入了一些數據:
CREATE TABLE [bad idea] (
[bad idea column] VARCHAR(255)
)
INSERT INTO [bad idea] ([bad idea column]) VALUES ('Spaces in DB entity names are generally a bad idea.')
然后,可以從tsql查詢它:
1> SELECT * FROM [bad idea]
2> GO
Spaces in DB entity names are generally a bad idea.
您確定列名拼寫正確嗎? 您可以共享要編輯的確切列名嗎?例如,它們都是ASCII字符嗎? 您要連接到哪個SQL Server版本? 祝好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.