在Python中可以将SQLite3与微软SQL Server一起使用吗?

2 投票
2 回答
13629 浏览
提问于 2025-04-17 20:49

我正在尝试使用SQLite3模块连接到Microsoft SQL Server。

一切看起来都被识别了,但不知为什么,它却不识别我的列或表。

import sqlite3
con = sqlite3.connect('V7.0.6_X2_857I.sql')
cur = con.cursor()
cur.execute("""SELECT * FROM TS857_5400""")
all = cur.fetchall()
print one

不过,我遇到了这个错误:

---------------------------------------------------------------------------
OperationalError                          Traceback (most recent call last)
<ipython-input-39-04a8789e04a7> in <module>()
      3 con = sqlite3.connect('V7.0.6_X2_857I.sql')
      4 cur = con.cursor()
----> 5 cur.execute("""SELECT * FROM TS857_5400""")
      6 all = cur.fetchall()
      7 print one

OperationalError: no such table: TS857_5400

我知道这个表确实存在,所以我在想这是不是连接字符串声明的问题,或者是SQLite3(与SQL Server一起使用)的一些限制。

提前谢谢你。

2 个回答

2

你会发现SQLite创建了一个叫做'V7.0.6_X2_857I.sql'的文件,这个文件里包含了一个新建的数据库。sqlite3模块只处理SQLite数据库,不能连接其他类型的数据库。你看不到表格是因为你正在一个刚创建的空数据库里工作。

很遗憾,我对驱动程序的知识不是很更新,但你需要的是一个符合DB API标准的驱动模块,用来连接SQL Server。

5

SQLite是一种完全不同的数据库,具体可以查看http://www.sqlite.org/sqlite3模块和微软的SQL Server没有任何关系,它主要是用来处理嵌入式数据库的。

换句话说,你不能用sqlite3模块连接到SQL Server。

如果想要连接SQL Server,你需要安装一个第三方库。Python Wiki上列出了几种选择,从ODBC驱动到专门的SQL Server连接器都有。具体哪种适合你,取决于你的Python版本和当前使用的操作系统。

撰写回答