问题标签 [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 - 使用 SQL 或其他变通方法访问存储过程的第二个结果集?Python\pyodbc
我正在使用 python\pyodbc 并希望访问存储过程的第二个结果集。据我所知,pyodbc 不支持多个结果集。此外,我无法修改存储过程。是否有任何选项可以使用 SQL 或其他解决方法访问第二个结果集?也许创建第二个存储过程,它只返回第一个结果集的第二个结果集?
python - 使用带有“Windows 凭据”的 Linux 上的 python 连接到 MS SQL Server
有没有办法使用 Windows 域凭据在 Linux 上使用 python 连接到 MS SQL Server 数据库?
我可以使用 Windows Credentials 从我的 Windows 机器上完美连接,但尝试从带有 pyodbs + freetds + unixodbc 的 linux python 上做同样的事情
导致此错误:
我确定密码写对了,但我尝试了许多不同的用户名组合:
甚至
无济于事。有任何想法吗?
python - 是否有任何可用的 pywin32 odbc 连接器文档?
网络上有什么好的 pywin32 odbc 连接器文档和教程?
python - windows上从python连接odbc的常用方法?
我应该使用什么库从 Windows 上的 python 连接到 odbc?就 odbc 而言,pywin32 有什么好的替代方案吗?
我正在寻找有据可查、健壮、积极维护等pyodbc
看起来不错的东西——还有其他的吗?
python - PyODBC 和 Microsoft Access:简单查询的结果不一致
我通过 Microsoft Jet 使用 pyodbc 从 Python 程序访问 Microsoft Access 2003 数据库中的数据。
Microsoft Access 数据库来自第三方;我只是在阅读数据。
我通常在提取我需要的数据方面取得了成功,但我最近注意到了一些差异。
我把它归结为一个简单的查询,形式如下:
我已经混淆了字段名称和值,但实际上,没有比这更简单的了!当我在 Access 中运行查询时,它返回一条记录。
然后我在 pyodbc 上运行它,代码如下所示:
(同样,没有比这更微不足道的了!)
queryString 的值是从 Access 中的工作查询中剪切和粘贴的,但它不返回任何记录。我希望它会返回相同的记录。
当我更改查询以搜索 field2 的不同值时,宾果游戏可以正常工作。它拒绝的只是一些价值观。
所以,请帮帮我。我接下来应该在哪里寻找来解释这种差异?如果我不能相信琐碎查询的结果,我就没有机会参与这个项目!
更新:它变得更加简单!以下查询给出了不同的数字...
从表中选择计数(*)
我考虑它是否与某些形式的缓存和/或另一个偶尔填充数据的应用程序的不正确事务管理有关。
python - 在生产中使用 Sql Server 和 Django
有人最近有使用 SQL Server 数据库后端部署 Django 应用程序的经验吗?我们的工作场所在 SQL Server 上投入了大量资金,如果没有足够开发的后端,我们将不支持 Django。
我知道 mssql.django-pyodbc 和 django-mssql 作为非官方支持的后端。这两个项目似乎只有一个人贡献,尽管贡献似乎有些规律,这有点令人担忧。
是否有任何其他支持良好的 SQL Server 后端?我在这里提到的两个对于生产来说“足够好”了吗?你有什么经验?
python - 在 linux 上使用 pyodbc 在 nvarchar mssql 字段中插入 unicode 或 utf-8 字符
我正在使用Ubuntu 9.04
我已经安装了以下软件包版本:
我是这样配置/etc/unixodbc.ini
的:
我是这样配置/etc/freetds/freetds.conf
的:
31e2fae4adbf1b2af1726e5668a3414cf46b454f
我已从中获取pyodbc 修订版并使用“ ”http://github.com/mkleehammer/pyodbc
安装它python setup.py install
我的本地网络上有一台装有Microsoft SQL Server 2000的 Windows 机器,启动并监听本地 IP 地址 10.32.42.69。我有一个名为“Common”的空数据库。我有用户“sa”,密码为“secret”,拥有完全权限。
我正在使用以下 python 代码来设置连接:
到目前为止一切正常。我在服务器上使用了 SQLServer 的企业管理器,新表就在那里。现在我想在表上插入一些数据。
那失败了!!这是我得到的错误:
由于我的客户端配置为使用 UTF-8,我想我可以通过将数据编码为 UTF-8 来解决。那行得通,但后来我得到了奇怪的数据:
这没有错误,但返回的数据与发送的数据不同!我得到:
也就是说,pyodbc 不会直接接受 unicode 对象,但它会将 unicode 对象返回给我!并且编码被混淆了!
现在的问题:
我想要代码在 NVARCHAR 和/或 NTEXT 字段中插入 unicode 数据。当我查询回来时,我想要我插入回来的相同数据。
这可以通过以不同的方式配置系统,或者通过使用能够在插入或检索时正确地将数据转换为/从 unicode 的包装函数
这要求不高,是吗?
python - 在 ubuntu 上使用 pyodbc 在 SQL Server 上插入图像字段
我正在使用Ubuntu 9.04
我已经安装了以下软件包版本:
我是这样配置/etc/unixodbc.ini
的:
我是这样配置/etc/freetds/freetds.conf
的:
31e2fae4adbf1b2af1726e5668a3414cf46b454f
我已从中获取pyodbc 修订版并使用“ ”http://github.com/mkleehammer/pyodbc
安装它python setup.py install
我的本地网络上有一台装有Microsoft SQL Server 2000的 Windows 机器,启动并监听本地 IP 地址 10.32.42.69。我有一个名为“Common”的空数据库。我有用户“sa”,密码为“secret”,拥有完全权限。
我正在使用以下 python 代码来设置连接:
到目前为止一切正常。我在服务器上使用了 SQLServer 的企业管理器,新表就在那里。现在我想在表上插入一些数据。
现在在我原来的问题上,我在使用时遇到cur.execute(sql, (data,))
了问题,但现在我已经编辑了这个问题,因为按照下面 Vinay Sajip 的回答(谢谢),我将其更改为:
并且插入工作正常。我可以使用以下测试代码确认插入数据的大小:
完美通过!
现在问题在于检索数据。
我正在尝试常见的方法:
然而那失败了!!
我把上面的所有代码都放在了一个文件中,以便于测试任何想要帮助的人。
现在的问题:
我希望 python 代码将图像文件插入 mssql。我想查询图像并将其显示给用户。
我不关心 mssql 中的列类型。我IMAGE
在示例中使用“”列类型,但任何二进制/blob 类型都可以,只要我得到未损坏的插入文件的二进制数据。Vinay Sajip 在下面说,这是 SQL SERVER 2000 中的首选数据类型。
现在正在插入数据而没有错误,但是当我检索数据时,只返回 4k。(数据在 4096 被截断)。
我怎样才能使它工作?
编辑:Vinay Sajip 下面的回答给了我在现场使用 pyodbc.Binary 的提示。我已经相应地更新了这个问题。谢谢维奈萨吉普!
Alex Martelli 的评论让我想到了使用DATALENGTH
MS SQL 函数来测试数据是否已完全加载到列上。谢谢亚历克斯马泰利!
python - 在 Python 中,使用 pyodbc,你如何执行事务?
我有一个用户名,我必须在许多(最多 25 个)表中进行更改。(是的,我知道。)原子事务似乎是处理这类事情的方法。但是,我不知道如何使用 pyodbc 执行此操作。我以前看过各种关于原子事务的教程,但从未使用过它们。
设置:Windows 平台、Python 2.6、pyodbc、Microsoft SQL 2005。我将 pyodbc 用于单个 SQL 语句,但没有复合语句或事务。
SQL 的最佳实践似乎表明创建存储过程非常适合这一点。我对存储过程的恐惧如下,按照重要性增加的顺序排列:1)我从未编写过存储过程。2)我听说 pyodbc 目前还没有从存储过程返回结果。3) 这绝对不是我的数据库。它是供应商提供的、供应商更新的等等。
那么,最好的方法是什么?
python - 如何在 python 中转义哈希 (#) 字符?
我正在使用 pyodbc 查询 AS400(不幸的是),并且某些列名中有散列!这是一个小例子:
我明显收到这样的错误:
有什么办法可以逃脱吗?似乎怀疑在 var 名称中是否允许使用哈希。我今天刚拿起python,如果答案是常识,请见谅。
谢谢,皮特