问题标签 [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-8
which 工作正常,但作为一个工作约定,我需要保存在我的数据库中的所有数据都是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?