标签: adodbapi

使用adodbapi连接到SQLServer 2005

我是Python的新手,我在Win 7-32工作站上安装了Python 3.2.尝试使用adodbapi-2.4.2.2连接到MSSQLServer 2005 Server,这是该软件包的最新更新.

代码/连接字符串如下所示:

conn = adodbapi.connect('Provider = SQLNCLI.1; Integrated Security = SSPI; Persist Security Info = False; Initial Catalog = XXX; Data Source = 123.456.789');

从adodbapi我不断得到错误(这是来自Wing IDE shell的完整错误消息):

回溯(最近一次调用最后一次):文件"D:\ Program Files\Wing IDE 4.0\src\debug\tserver_sandbox.py",第2行,如果名称 ==' main ':文件"D:\ Python32\Lib\site-packages\adodbapi\adodbapi.py",第298行,在connect中引发InterfaceError #Probably COM错误adodbapi.adodbapi.InterfaceError:

我可以跟踪代码并查看异常情况.

我也尝试使用带有OLEDB提供程序的conn字符串和集成的Windows安全性,结果相同.

所有这些连接字符串都可以从我的工作站上的UDL文件和SSMS中正常工作,但在adodbapi中失败并出现相同的错误.

我该如何解决?

python database sql-server-2005 adodbapi

6
推荐指数
1
解决办法
6809
查看次数

如何从adodbapi查询返回的行中获取列名?

假设我查询这样的数据库:

import adodbapi
conn = adodbapi.connect(connStr)
tablename = "[salesLT].[Customer]"

cur = conn.cursor()

sql = "select * from %s" % tablename
cur.execute(sql)

result = cur.fetchall()
Run Code Online (Sandbox Code Playgroud)

我认为,结果是一系列SQLrow对象.

如何获取查询返回的列名列表或序列?

我认为它是这样的:

    row = result[0]
    for k in row.keys():
        print(k)
Run Code Online (Sandbox Code Playgroud)

......但.keys()不是吗.

也不 .columnNames()

python adodbapi

6
推荐指数
1
解决办法
2万
查看次数

将 list[adodbapi.apibase.SQLrow] 转换为 pd.DataFrame

sql-server 连接器adodbapi是唯一在我的环境中工作的连接器。

import adodbapi

conn = adodbapi.connect("PROVIDER=SQLOLEDB;Data Source={0};Database={1}; \
       UID={2};PWD={3};".format(server,db,user,pwd))
cursor = conn.cursor()
query_list = [row for row in cursor]

type(query_list[0]) = adodbapi.apibase.SQLrow
Run Code Online (Sandbox Code Playgroud)

如何将此列表转换为 pandas df?

谢谢

python adodbapi pandas

2
推荐指数
1
解决办法
2149
查看次数

标签 统计

adodbapi ×3

python ×3

database ×1

pandas ×1

sql-server-2005 ×1