问题标签 [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 回答
3916 浏览

python - 将空值绑定到 pyodbc 中的日期字段

使用 pyodbc,如果我尝试在日期字段上执行此代码:

...我得到pyodbc.Error: ('HY000', '[HY000] [SAS][SAS ODBC Driver][SAS Server]ERROR: Value 1 of VALUES clause 1 does not match the data type of the corresponding column in (-1) (SQLExecDirectW)'),而如果我执行这个:

... 有用。有没有另一种方法来执行这个,这意味着我不需要检查我传递的参数?

0 投票
18 回答
135399 浏览

python - 无法在 Linux 上安装 pyodbc

我正在运行 Linux (2.6.18-164.15.1.el5.centos.plus) 并尝试安装 pyodbc。我正在做 pip install pyodbc 并得到一个很长的错误列表,以

错误:命令“gcc”失败,退出状态为 1

我查看了 /root/.pip/pip.log并看到以下内容:

InstallationError: Command /usr/local/bin/python -c "import setuptools; file ='/home/build/pyodbc/setup.py'; execfile('/home/build/pyodbc/setup.py')" install - -single-version-externally-managed --record /tmp/pip-7MS9Vu-record/install-record.txt 失败,错误代码为 1

有没有人在安装 pyodbc 时遇到过类似的问题?

0 投票
4 回答
3512 浏览

sqlalchemy - 在 IronPython 2.6.1 中使用 SQL Alchemy 和 pyodbc

我正在使用 IronPython 和 clr 模块通过 SMO 检索 SQL Server 信息。我想使用 SQL Alchemy 在 SQL Server 数据库中检索/存储这些数据,但在加载 pyodbc 模块时遇到了一些问题。

这是设置:

  • IronPython 2.6.1(安装在 D:\Program Files\IronPython)
  • CPython 2.6.5(安装在 D:\Python26)
  • SQL Alchemy 0.6.1(安装在 D:\Python26\Lib\site-packages\sqlalchemy)
  • pyodbc 2.1.7(安装在 D:\Python26\Lib\site-packages)

我在 IronPython site.py 中有这些条目来导入 CPython 标准和第三方库:

SQL Alchemy 在 IronPython 中导入 OK,当我尝试连接到 SQL Server 时收到此错误消息:

这段代码在 CPython 中运行良好,但看起来 pyodbc 模块无法从 IronPython 访问。

有什么建议么?我意识到这可能不是解决问题的最佳方法,所以我愿意以不同的方式解决这个问题。只是想获得一些使用 SQL Alchemy 和 pyodbc 的经验。

0 投票
3 回答
983 浏览

python - 使用 mssql 进行 0.6 迁移中的 sqlalchemy 日期类型

我在 linux ubuntu 10.04 上通过 pyodbc,通过 FreeTDS odbc 驱动程序连接到 mssql 服务器。

Sqlalchemy 0.5DATETIME用于sqlalchemy.Date()字段。

现在 Sqlalchemy 0.6 使用DATE,但 sql server 2000 没有DATE类型。我怎样才能成为sqlalchemy 0.6方言DATETIME的默认设置?sqlalchemy.Date()mssql+pyodbc

我想尽可能保持清洁。

这是重现该问题的代码:

这是我得到的回溯:

0 投票
2 回答
2714 浏览

python - pyODBC 和 Unicode

我正在使用 pyODBC 与 MS SQL 2005 Express 服务器进行通信。我试图将数据保存到的表由 nvarchar 列组成。

变量名称、生日和性别是从 Excel 文件中读取的,它们是 Unicode 字符串。当我执行查询并使用 SQL Server Management Studio 查看表或执行获取刚刚插入的数据的查询时,所有用非英语语言编写的数据都会变成问号。用英文编写的数据将被保留并以正确的方式出现在表格中。我尝试添加CHARSET=UTF16到我的连接字符串,但没有运气。我可以使用UTF-8which 工作正常,但作为一个工作约定,我需要保存在我的数据库中的所有数据都是UTF16.

谢谢!

0 投票
1 回答
1380 浏览

python - sql server 函数原生参数绑定错误

我在 Ubuntu 10.04 Lucid LTS 上使用以下软件堆栈连接到数据库:

  1. python 2.6.5 (ubuntu 包)
  2. pyodbc git 主干提交eb545758079a743b2e809e2e219c8848bc6256b2
  3. unixodbc 2.2.11 (ubuntu 包)
  4. freetds 0.82 (ubuntu 包)
  5. 带有 Microsoft SQL Server 2000 (8.0) 的 Windows

尝试在 SQL SERVER 函数的参数中执行本机参数绑定时出现此错误:

这是复制代码:

现在该函数已创建。如果我尝试在查询中直接使用值调用它(没有值的本机绑定),它可以正常工作:

但是,当我尝试进行本机绑定时(通过使用参数占位符并分别传递值),我得到了上面的错误:

进一步的调查揭示了一些我想联系的奇怪的东西:

  • 如果我将 TDS 版本更改为 4.2,一切正常(但是,来自 sql server 的版本报告是错误的——使用4.2我得到 的 TDS 版本'95.08.0255'而不是真实版本'08.00.0760')。
  • 其他两种类型的函数一切正常 -> 返回值的函数和只是 SELECT 查询(如视图)的函数都可以正常工作。您甚至可以定义一个新函数,该函数返回对另一个(损坏的)函数的查询结果,这样一切都会正常工作,即使在对参数进行本机绑定时也是如此。例如:CREATE FUNCTION fn_tempFunc(@testparam varchar(4)) RETURNS TABLE AS RETURN (SELECT * FROM fn_FuncTest(@testparam))
  • 此错误后连接变得非常不稳定,您无法恢复。
  • 尝试绑定任何类型的数据时都会发生错误。

我怎样才能进一步追求这个?我想对函数参数进行本机绑定。

0 投票
1 回答
155 浏览

python - 使用 SQL Server 2005 操作数据库 - Django

我正在尝试完成以下任务:

  • 获取数据库架构

  • 抓住任何约束*

  • 更改表

  • 添加/删除表

我目前正在为 Django 使用pyodbc后端。

我想在视图文件中执行所有这些任务。


我正在使用以下内容来获取以“core_”开头的表字段:

*由于 Madhivanan Link已修复


有什么开始的想法吗?

0 投票
1 回答
4722 浏览

python - import pyodbc 导致 DLL 加载失败,Win7 上的错误代码为 193

我正在运行 64 位 Windows 7 和 ActiveState Python 2.5 安装(64 位版本)。我刚刚下载并安装了 pyodbc 2.1.7 win32 包。当我以管理员身份运行安装程序时,它没有问题。当我运行 python 并尝试

我收到以下错误:

ImportError:DLL 加载失败, 错误代码为 193

我认为这与安装了 64 位版本的 ActiveState Python 有关。我是否需要删除它并将其替换为 32 位 ActiveState Python 安装?在更多的 python 包支持 64 位之前,这会是首选的做事方式吗?

0 投票
4 回答
21115 浏览

database - 如何将 pyodbc 连接到 Access (.mdb) 数据库文件

这是我尝试过的:

- 通过搜索找到 Vista 的 ODBC 数据源管理器*,

- 添加一个新的文件数据源*,选择 Microsoft Access 驱动程序 (*.mdb),然后选择我感兴趣的 mdb 文件,

- 从 python shell 导入 pyodbc 并尝试:

我收到以下错误消息(葡萄牙语**):

翻译为“未找到数据源名称且未指定标准驱动程序”。

我究竟做错了什么?如何正确处理?另外,我在网上搜索了文档,但没有发现任何有价值的文档,有人可以推荐任何文档吗?

*名称可能不完全准确,因为我的 Windows 是葡萄牙语。

**不,葡萄牙语没有“3”和“\”作为字母,这些是打印错误的特殊字符

0 投票
2 回答
1187 浏览

python - FreeTDS 将 MS SQL 货币类型转换为 python 浮点数,而不是十进制

我正在 Linux 中从 Python 连接到 MS SQL Server 数据库。我正在使用 FreeTDS 驱动程序通过 pyodbc 进行连接。当我从 MSSQL 返回一个货币字段时,它以浮点数的形式出现,而不是 Python 十进制。

问题在于 FreeTDS。如果我从 Windows(我不需要使用 FreeTDS)运行完全相同的 Python 代码,pyodbc 返回一个 Python 十进制。

在 Linux 中运行代码时,如何取回 Python Decimal?