问题标签 [pyodbc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
579 浏览

python - handling None values in conversion to numpy recarray

Is there a graceful way of handling None values in a conversion of a list of tuples to a numpy recarray using the single call to np.rec.fromrecords? Assuming I know what I want the missing value to be (e.g. -1 for integers), how do I catch and handle the below contrived example:

I'm guessing that I would have to do this on a per-field basis in order to avoid missing true TypeErrors elsewhere in the recarray. Is there any way of isolating where (ie. what fields) in the recarray I want this conversion to apply. My real use case is converting pyodbc records to numpy recarrays.

0 投票
1 回答
1727 浏览

sql-server - 防止 Django 更新 MSSQL 中的标识列

我正在使用 MSSQL 中的旧数据库。我们有一个表,其中有两列导致我出现问题:

所以表有 ssn 列作为主键,django 生成的 SQL 更新代码的相关部分是这样的:

问题是 EMP.EMPID 是 MSSQL 中的标识字段,因此每当我尝试将更改保存到现有员工时,pyodbc 都会引发此错误:

将 EMP.EMPID 作为标识对程序的任何内容都不是至关重要的,因此通过创建一个临时列并复制、删除、重命名来删除它似乎是合乎逻辑的事情。这为将老客户转移到 Django 中创建了一个额外的步骤,所以我的问题是,有没有什么方法可以防止 Django 在我对此表进行更新时生成“[EMPID] = XXX”片段?

编辑
我已经像这样修补了我的模型:

这有效,利用了 Django 在 django/db/models/base.py (525) 中填充它的 sql-sentence 的方式。如果有人有更好的方法或可以解释为什么这是不好的做法,我会很高兴听到它!

0 投票
1 回答
9492 浏览

python - pyodbc 将 SQL Server 日期字段作为字符串返回

我正在使用 pyodbc 查询包含 DATE 类型列的 SQL Server 2008 数据库表。

生成的数据行包含日期字符串,而不是 python datetime.date 或 datetime.datetime 实例。

这似乎只是 DATE 类型的列的问题;DATETIME 类型的列被正确处理并返回一个 datetime.datetime 实例。

例子

结果:

请注意,some_date列被指示为类型 unicode 字符串,但是,在数据库中,该列被定义为 DATE:

这是正常的,我怎样才能最好地纠正它?

0 投票
2 回答
5843 浏览

stored-procedures - pyodbc 从带有 DB2 的存储过程中返回多个游标

我有一个从 db2 数据库调用存储过程的 python 程序。我results = cursor.fetchall()用来处理我的存储过程的结果。但是,我的存储过程返回两个游标。results只包含第一个。我需要一种方法来遍历尽可能多的游标。我希望fetchmany()这会是我的答案,但事实并非如此。

我需要能够执行多个结果集,因为我正在编写的程序只能调用一个存储过程。回去要花很多时间才能打电话给两个。除了这些东西之一,我需要让 10 个游标返回。一切都是动态的,因此应用程序不知道它正在运行什么程序,它只是获取数据并将其吐入不知道含义的 Excel 中。我需要一个游标用于数据,另一个游标用于不同类型的计数和总计。

我正在寻找一个内置函数来执行此操作,或者甚至可能是一个不同的库,因为我已经完成了我的谷歌搜索,看起来 pyodbc 没有为 DB2 执行此操作。DB2 是一个要求。

0 投票
1 回答
2207 浏览

python - SQL 更新失败 - pyodbc - informix

通过使用 pyodbc 的 python 脚本对 informix 数据库的更新是静默失败的。

我正在使用 pyodbc wiki 中提供的语法,并尝试了手动提交和自动提交

我也在 pyodbc 组中发布了这个问题,但不幸的是没有得到答案。

0 投票
5 回答
20536 浏览

python - 尝试连接到本地主机上的数据库时出现 pyodbc 连接错误

我的机器上有一个名为“Test”的本地数据库,其中包含一个名为“Tags”的表。我可以通过 SQL Server management studio 2008 访问这个数据库并从这个表中查询。

但是,在使用 pyodbc 时,我一直遇到问题。

使用这个:

产生错误:

(有或没有指定端口)

尝试替代连接字符串:

不会产生错误,但随后:

产生错误:

为什么会这样?

0 投票
2 回答
16379 浏览

python - 无法使用 pyodbc 在访问中创建表

我正在尝试使用 pyodbc 在带有 python 的 MS Access DB 中创建表,但是当我运行我的脚本时,没有创建表,也没有给出错误。我的代码:

有什么问题?

0 投票
10 回答
41410 浏览

python - MSSQL2008 - Pyodbc - 以前的 SQL 不是查询

我不知道下面的代码有什么问题,语法没问题(用 SQL Management Studio 检查),我可以正常访问,所以它也可以工作。但是由于某种原因,一旦我尝试创建一个表通过 PyODBC 然后它停止工作。

它失败了:

有人知道这是为什么吗?我安装了“SQL Server”驱动程序(默认),在 Windows 2008 SQL Server 环境(不是快速数据库)上运行 Windows 7。

0 投票
1 回答
6887 浏览

python - 使用 PyODBC 将参数传递给存储过程

我正在使用 pyODBC 连接到 SQL Server 2005 express 数据库。我在 SQLServer express 中创建了一个存储过程,它采用 2 个字符串参数,例如,stored_proc(inpu1, input2) 这些参数的类型是日期时间。我已经使用管理工作室测试了存储过程,它确实返回了适当的结果。但是,当我尝试从 python 调用存储过程(我正在使用 Eclipse)时,我得到了错误。

pyodbc.DataError: ('22018', '[22018] [Microsoft][SQL Native Client]强制转换规范 (0) (SQLExecDirectW) 的字符值无效')2/9/2011 12:00:03 2/9/2011 12:20:03

我调用的函数如下:

造成问题的线路是

任何人都可以帮助我了解如何将多个参数传递给使用 pyODBC 调用的存储过程。我是否需要转换 tstart,并首先倾向于日期时间格式,如果需要如何?我已经验证了strptime,但即使这样也没有成功,尽管我可能用错了

0 投票
2 回答
12142 浏览

python - Python DateUtil 将字符串转换为日期和时间

我正在尝试将字符串类型的参数转换为日期时间。我正在使用 dateUtil 库

每次我运行这个我得到

2001-09-01 12:00:03

无论我是否将 dayfirst 设置为 true 或 Year first 设置为 false。理想情况下,我只想有一个格式为 DD-MM-YYYY HH:MM:SS 的日期。我不想要任何花哨的东西。我愿意使用 datetime 库,但这对我来说似乎根本不起作用。谁能给出如何将字符串转换为具有显式格式的日期时间的简单示例,我是菜鸟,所以我只需要最基本的示例。我正在使用 Python 2.7