问题标签 [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.

0 投票
3 回答
4353 浏览

php - unixODBC (DB2) + PHP + CentOS 的段错误

经过2天的战斗,我尝试在这里寻求帮助。我正在使用 unixODBC (2.2.11) 在 CentOS 5.4 服务器上使用 DB2 (iSeries) 和 PHP (5.3)。我猜是因为 PHP 从 5.1 升级到 5.3,我让 PHP 在某些查询上出现段错误。经过一番调查,我发现问题出现在一些长字符字段的查询中,例如这个表:

这段简单的代码引发了段错误:

unixODBC 和/或 PHP >= 5.1 是否有任何列长度限制或错误?这个网络应用程序工作得很好,然后我遇到了这个问题..

顺便说一句,我使用更新的 64 位 CentOS 6.2 机器和 unixODBC 2.2.14 和 PHP 5.3 进行了测试,问题是一样的。

非常感谢任何帮助,

谢谢

法比恩

更新: 使用 PHP odbc 函数,它可以工作:

所以这个问题更多地与PDO有关,知道吗?

0 投票
1 回答
6331 浏览

oracle - unixODBC/Oracle:如何仅在连接字符串中指定所有数据源信息,而不是在 odbc*.ini 文件中

我想使用unixODBC. 我希望连接字符串仅指定所有数据库/数据源信息,并且 ODBC INI 文件(/etc/odbc.ini/etc/odbcinst.ini)仅包含通用驱动程序信息,例如在哪里可以找到“.so”等。即我希望它们是静态的。我想这样做,以便我可以从外部获取用户的连接字符串,并连接到数据源,而无需修改任何 INI 文件或任何其他磁盘配置。

我看到的所有示例都让我/etc/odbc.ini这样定义服务器信息:

现在,我想出了如何通过添加"UID=my_user;PWD=my_pass"到连接字符串中将用户 ID 和密码取出到连接字符串中,并将它们从odbc.ini. 当我也找不到ServerName出入odbc.ini连接字符串的方法时,我的喜悦很快就过去了。那么我该怎么做呢?有没有办法完全摆脱 DSN,odbc.ini只在连接字符串中使用Driverfrom odbcinst.ini,就像我们对 MySQL 所做的那样?

编辑: 尝试来自www.connectionstrings.com的任何似乎不需要 TNS 或 DSN的连接字符串,包括EZCONNECT变体,都给我:

0 投票
1 回答
1144 浏览

php - 与 PHP 的 unixodb 连接失败

我已经用 unixODBC 安装了 freetds,当我测试与 isql 的连接时,它工作得很好,但是当我尝试与 php 建立连接时,我得到一个 S1000 错误。

我的配置详细信息是我的 freetds.conf 中有一个 DSN

我的 odbc.ini 文件有

我的 odbcinst 文件有

我使用本教程进行安装,并使用 odbcinst 安装了驱动程序。

为了与 php 连接,我使用 DSN 连接,并尝试使用 odbc_connect 和 mssql_connect。

我还尝试使用以下代码使用 PDO

使用 isql 一切正常。

我正在使用 Microsoft SQL Server 2008。

有谁知道可能导致此问题的原因。提前致谢

0 投票
1 回答
876 浏览

sql-server - 在 Ubuntu 上使用 perl 的未定义符号 SQLAllocHandle

似乎 perl 程序正在尝试加载 ODBC.so 文件,而不是应该使用的 freetds 文件。它给出了符号查找错误消息。试图在 ODBC.so 中找到 SQLAllocHandle

有没有人遇到过这个错误?刚安装完驱动程序,所以我完全不知所措,完全糊涂了。

0 投票
2 回答
1346 浏览

sql-server - Node-odbc 无法连接到 mssql

我花了最后一两天在 ubuntu 12 上设置 unixODBC 和 freetds - 这本身不是一个有趣的过程,但它现在可以同时使用 sqsh 和 isql。我已经安装了 node-odbc 并且我正在使用github 自述文件中提供的代码片段来测试连接,但我总是得到

使用 isql 我运行isql -v SERVER user pass(使用正确的凭据..),然后use DATABASE一旦连接,一切正常,我可以正常运行查询。我在 js 中的连接字符串是

这与用于连接 isql 的凭据完全匹配,但在 Node 中我得到了上述错误。关于为什么会发生这种情况的任何想法?是否有可能做我的 odbc.ini 和 odbcinst.ini 文件的位置或类似的东西?

仅供参考:

/etc/odbc.ini:

/etc/odbcinst.ini:

提前感谢您的帮助!

0 投票
2 回答
2770 浏览

perl - install_driver(ODBC) 失败:无法为模块 DBD::ODBC: libodbc.so.1 加载“/usr/local/lib64/perl5/auto/DBD/ODBC/ODBC.so”

我正在使用 perl 5.10.1 我当前的服务器(centos 6.3)。每当我执行 Perl 程序时,都会出现以下错误:

当我执行以下命令时:

我明白了libodbc.so.1 is not found

0 投票
4 回答
1152 浏览

oracle - 为什么 unixODBC SQLTables 总是返回 4294967295 的 SQLRowCount?

使用以下代码,我总是在 Oracle 数据库中获得该值

没有错误消息,因此没有明显的原因导致此行为

使用 oracle 库:oracle-instantclient11.2-odbc-11.2.0.1.0-1.x86_64

关于这种行为的原因有什么想法吗?

0 投票
1 回答
1724 浏览

python - pyodbc:ubuntu 上的 .mdb 连接错误

我正在尝试访问位于我的系统上的 .mdb 文件。我的代码看起来像这样:

但我面临以下错误:

我已经pyodbc-3.0.6-py2.7-linux-i686.egg安装在我的系统上。使用 Ubuntu 12.04 谁能告诉我这里有什么问题

0 投票
1 回答
641 浏览

oracle - 为什么 Oracle odbc 驱动程序没有为整数和数字类型提供 TYPE_NAME?

我正在尝试使用 odbc 动态创建一个表,我需要获取正确的类型字符串以在 create table 语句中使用。但是,似乎无法从 Oracle 驱动程序 (oracle-instantclient11.2-odbc-11.2.0.1.0-1.x86_64) 中获取任何 TYPE_NAME 字符串。使用以下类型调用 SQLGetTypeInfo(hStmt, sqlType) 总是返回一个空记录:

SQL_NUMERIC、SQL_INTEGER、SQL_BIGINT

我分别期待 NUMERIC、NUMERIC(10,0) 和 NUMERIC(19,0)。或 NUMBER 替换http://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#i16209中列出的数字:NUMBER(p,s)

相反,SQL_ALL_TYPES 列表显示根本不支持 NUMBER,而是有一个未记录的(对于上述链接)DECIMAL 类型。

知道为什么会出现这种行为以及如何在无需检查驱动程序连接 DBMS 名称的情况下获取正确的字符串吗?

PS:SQL_ALL_TYPES 返回:BLOB、LONG RAW、BFILE、RAW、CLOB、LONG、CHAR、DECIMAL、BINARY_FLOAT、BINARY_DOUBLE、DOUBLE PRECISION、DATE、VARCHAR2、NCHAR、NVARCHAR2、NCLOB

0 投票
1 回答
151 浏览

oracle - root 权限可以破坏 SQLDriverConnect(作为普通用户工作)吗?

我在 linux (unixODBC) 下通过 Oracle ODBC 驱动程序得到一个奇怪的行为。

我有一个连接到数据库的程序,当由非特权用户调用时,它按预期工作,而如果使用 root 权限调用(使用 sudo 和 su 测试)挂在 SQLDriverConnect 调用中,然后在几分钟后死亡(返回代码 1)没有错误消息或任何东西。

我正在使用系统 DSN 和完全相同的配置(唯一的区别是 root 权限),为了让事情更有趣,我还使用相同的代码连接到 postgreSQL 数据库,没有任何问题,无论是非特权用户还是 root 用户(因此它似乎不是 unixODBC 问题)。

知道它是否真的是 Oracle 驱动程序问题的原因或提示其解决方法?

Oracle驱动版本:oracle-instantclient11.2-odbc-11.2.0.1.0-1.x86_64