问题标签 [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.
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)'),而如果我执行这个:
... 有用。有没有另一种方法来执行这个,这意味着我不需要检查我传递的参数?
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 时遇到过类似的问题?
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 的经验。
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
我想尽可能保持清洁。
这是重现该问题的代码:
这是我得到的回溯:
python - pyODBC 和 Unicode
我正在使用 pyODBC 与 MS SQL 2005 Express 服务器进行通信。我试图将数据保存到的表由 nvarchar 列组成。
变量名称、生日和性别是从 Excel 文件中读取的,它们是 Unicode 字符串。当我执行查询并使用 SQL Server Management Studio 查看表或执行获取刚刚插入的数据的查询时,所有用非英语语言编写的数据都会变成问号。用英文编写的数据将被保留并以正确的方式出现在表格中。我尝试添加CHARSET=UTF16到我的连接字符串,但没有运气。我可以使用UTF-8which 工作正常,但作为一个工作约定,我需要保存在我的数据库中的所有数据都是UTF16.
谢谢!
python - sql server 函数原生参数绑定错误
我在 Ubuntu 10.04 Lucid LTS 上使用以下软件堆栈连接到数据库:
- python 2.6.5 (ubuntu 包)
- pyodbc git 主干提交
eb545758079a743b2e809e2e219c8848bc6256b2 - unixodbc 2.2.11 (ubuntu 包)
- freetds 0.82 (ubuntu 包)
- 带有 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)) - 此错误后连接变得非常不稳定,您无法恢复。
- 尝试绑定任何类型的数据时都会发生错误。
我怎样才能进一步追求这个?我想对函数参数进行本机绑定。
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 位之前,这会是首选的做事方式吗?
database - 如何将 pyodbc 连接到 Access (.mdb) 数据库文件
这是我尝试过的:
- 通过搜索找到 Vista 的 ODBC 数据源管理器*,
- 添加一个新的文件数据源*,选择 Microsoft Access 驱动程序 (*.mdb),然后选择我感兴趣的 mdb 文件,
- 从 python shell 导入 pyodbc 并尝试:
我收到以下错误消息(葡萄牙语**):
翻译为“未找到数据源名称且未指定标准驱动程序”。
我究竟做错了什么?如何正确处理?另外,我在网上搜索了文档,但没有发现任何有价值的文档,有人可以推荐任何文档吗?
*名称可能不完全准确,因为我的 Windows 是葡萄牙语。
**不,葡萄牙语没有“3”和“\”作为字母,这些是打印错误的特殊字符
python - FreeTDS 将 MS SQL 货币类型转换为 python 浮点数,而不是十进制
我正在 Linux 中从 Python 连接到 MS SQL Server 数据库。我正在使用 FreeTDS 驱动程序通过 pyodbc 进行连接。当我从 MSSQL 返回一个货币字段时,它以浮点数的形式出现,而不是 Python 十进制。
问题在于 FreeTDS。如果我从 Windows(我不需要使用 FreeTDS)运行完全相同的 Python 代码,pyodbc 返回一个 Python 十进制。
在 Linux 中运行代码时,如何取回 Python Decimal?