在Python中可以将SQLite3与微软SQL Server一起使用吗?
我正在尝试使用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版本和当前使用的操作系统。