问题标签 [unixodbc]
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.
sqlite - 如何使用 pyodbc 和 unixODBC 连接到 sqlite3 db?
我不知道如何使用 pyodbc 连接到 sqlite 数据库。我设置了 DSN,可以通过 isql 连接到它而不会出现问题。
像魅力一样工作,但是
给出以下错误消息:
我还在https://code.google.com/p/pyodbc/wiki/GettingStarted的示例中尝试了大量的连接字符串排列,但无济于事。
是否列出了我尝试连接的 dsn 以及保存 libsqlite3odbc.so 路径的值
我想我错过了一些明显的东西,但我不知道是什么......
编辑:使用 unixODBC 2.3.0、python 2.7.1、sqliteodbc 0.88 和 pyodbc 2.1.8 编辑:我想使用 pyodbc 的原因是为了移植到 Windows 和 MS Access
php - 使用 odbc_exec 成功下载 PHP 页面而不是渲染是
我有一个非常奇怪的问题。我正在使用 unixODBC 和 FreeTDS 连接到 MSSQL 服务器。
如果我使用导致有效查询的 odbc_exec 执行 SQL 命令,而不是呈现 PHP,我会收到下载我的 php 文件的提示,如果我接受该文件,最终会下载一个空文件。
如果我故意用格式不正确的语句破坏我的 SQL,页面会成功呈现并显示错误语句。
如果我使用命令行 isql 连接到我的数据库并运行查询,我能够在命令行级别获得结果。
CentOS 5.5 64位
微软 SQL 2005 SP3
unixODBC 2.3.0
免费TDS 0.82
PHP 5.3.5
python - pyodbc 如何确定编码?
到目前为止,我正在与 Python(和 Twisted)一起使用 Sybase SQL Anywhere 12 数周,我什至让我的东西正常工作。
只剩下一个烦恼:如果我在 CentOS 5 上使用自定义 Python 2.7.1(这是部署平台)运行我的脚本,我得到的结果是UTF-8。
如果我在我的 Ubuntu 机器(Natty Narwhal)上运行它,我会在latin1中得到它们。
不用说,我更愿意以 Unicode 格式获取我的所有数据,但这不是这个问题的重点。:)
两者都是 64 位的盒子,都有自定义的 Python 2.7.1。使用 UCS4 和自定义构建的 unixODBC 2.3.0。
我在这里不知所措。我找不到任何文档。是什么让 pyodbc 或 unixODBC 在这两个盒子上表现不同?
确凿的事实:
- 蟒蛇:2.7.1
- 数据库:SQL 无处不在 12
- unixODBC:2.3.0(2.2.14 的行为相同),使用相同的标志自编译
- ODBC 驱动程序:来自 Sybase。
- CentOS 5 给了我 UTF-8,Ubuntu Natty Narwhal 给了我 latin1。
我的 odbc.ini 看起来像这样:
我只使用 DNS='sybase' 进行连接。
蒂亚!
c++ - unixODBC C++ 文档...?
我找不到任何东西。
我发现的只是:http: //libodbcxx.sourceforge.net/但这对我来说不是正确的文档。我有一个用于 C++ 的 UnixODBC 库,但找不到任何文档
我在标题中有这个:
但是 sourceforge 中的文档完全不同 - 宏(或类似的东西SQL_SUCCEEDED
)是相同的,但类的名称不同,例如,ODBCStatement.h
is ODBCStatement
, not odbc::Statement
, also odbc::ErrorHandler
isODBCHandle
等中的类。我有一些类中奇怪的成员函数,ODBCStatement
如:doBindParameter
、、、等doPrepare
,doExecute
而谷歌对它们一无所知............
有任何想法吗?
PS我正在维护一个产品,其中代码不是我编写的。
php - 从 linux 上的 php 连接到 MS Access 远程 .mdb 文件
我已经在互联网上挖掘了几天,阅读了非常古老的信息,这导致了非常古老且不存在的站点,但我仍然明白,实现我的目标需要什么。
- 我们在运行 WindowsXP 的服务器上有一个 file.mdb,所以我需要将它添加到 ODBC 数据源。我通过简单的步骤来做到这一点,最后是“系统 DSN”,它允许访问那个 .mdb 文件
- 我需要在同一台服务器上安装某种 ODBC 桥,这将允许我创建到该服务器的远程连接,使该桥连接到服务器 ODBC DSN,并查询我的东西(找不到任何免费的 ODBC 桥)
- 在 UNIX (FreeBSD) 机器上,我需要安装 unixODBC 和 php5-odbc 包,启用与 ODBC 的连接(已安装)
- 要连接到远程 ODBC 并使用 MS Access db 驱动程序,我需要有一个用于 unixODBC 的驱动程序,在 .so 文件中,它位于 UNIX 机器内(找不到任何免费的 MS Access 驱动程序)
- 使用 PHP odbc_connect(DSN,user,password) 连接到该服务器,在 DSN 中我需要提供一些我需要使用的连接信息和驱动程序(MS Access 驱动程序)。
纠正我,如果我弄错了,请给我更多建议,如何实现这种连接。
mysql - 使用unixodbc驱动连接mysql,默认数据库不工作
我有我的 unixodbc odbc.ini 配置文件,如下所示:
问题是它不会使用上面指定的数据库,即“测试”。
我要做的是手动执行直接sql来更改数据库并运行我的查询:
关于我应该如何摆脱 mysql 命令的“使用测试”的任何想法。为什么 unixodbc 没有将 'test' 设置为默认数据库,因为它已经在 conf 文件中指定?
c - 与 unixODBC C API 等效的 RaiseError(PERL、DBI)?
我在 INFORMIX DB 中执行一些存储过程/函数时遇到问题。我尝试了不同的客户端,它们都是相同的——没有人在执行时检测到错误,而不是这个——返回空响应。这对我不起作用。
最后,我发现可以PERL DBI
选择 set RaiseError
,例如:
这很完美。unixODBC C API
但是对于lib ,是否有这样的等价物(不幸的是,我找不到任何东西) ?
另外:我尝试了相同的查询,isql
结果是一样的!没有错误,只是空结果:\也许它可能是一些选项,应该配置(在odbc.ini
,我猜..)?
编辑:好的,这里有更多细节:
版本:unixODBC 2.3.0
isql
和的结果ODBC C API
是一样的。以下是有关的更多信息C API
:
一切呼唤SQLMoreResults
归来SQL_NO_DATA
,一切SQLFetch
归来SQL_ERROR
。
摘要 - 对错误过程的所有调用都很好 - 返回错误。但如果此错误在存储函数中- 未检测到错误;而不是这个 - 返回 EMPTY 字符串。出局!
SQL_SUCCESS_WITH_INFO
不返回任何地方。许多其他错误也是如此(当然,这只是一个示例)
甚至更多!过程或功能如:
不返回任何错误,而 Aqua DB 工作室返回
回答:
我会接受 bohica 的回答,因为它是正确的,并且它对这部分的回答是正确的PERL DBI
。此外,他真的帮助了我(命中strace
)。
无论如何,真正的解决方案不在这里。我已将其发布在相关问题中,该问题对特定情况更为具体和孤立:在存储的**过程**中检测到相同的错误,但在存储的**函数**中未检测到
c - 在存储的**过程**中检测到相同的错误,但在存储的**函数**中未检测到
这个问题与我之前的问题有关:RaiseError (PERL, DBI) equivalent for unixODBC C API?
当我稍后隔离问题时,我将发布新问题,即更具体、更孤立且没有不必要的信息。
版本:unixODBC 2.3.0
库:unixODBC - C API
假设我有一个存储的 FUNCTION:
和相同的主体,但在存储的 PROCEDURE中:
正如你所看到的,它们是完全一样的。调试文件的路径错误,因此预计会出错。当我call func()
从Aqua Data Studio
错误中执行时检测到:
对于call proc(1)
.
但是SQLExecute
当我通过 unixODBC(使用)执行这两个调用时
返回SQL_ERROR
(这是预期的并且很好),而
返回SQL_SUCCESS
..但 'result is set here'
不返回,返回空字符串( ),而不是''
..
执行call func()
给出相同的结果,如execute function func();
调用SQLMoreResults
返回SQL_NO_DATA
,SQLFetch
返回SQL_ERROR
。
有任何想法吗?
php - 无法让 odbc 在 apache 中工作
我使用 apt-get install 安装了 unixODBC,现在当我尝试使用 odbc_connect() 时仍然出现此错误。
我需要做些什么来配置它以使用 php?我一直在网上寻找,但我无法弄清楚。