- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
经过 2 天的战斗,我尝试在这里寻求帮助。我在 CentOS 5.4 服务器上使用 unixODBC (2.2.11) 来处理 DB2 (iSeries) 和 PHP (5.3)。我想这是因为 PHP 从 5.1 升级到 5.3,我让 PHP 在某些查询上出现段错误。经过一些调查,我发现问题出现在一些长字符字段的查询中,例如这张表:
TABLE (
CONTRACTID NUMERIC,
SOMETEXT CHAR(583)
)
这段简单的代码引发了段错误:
try {
$conn = new PDO("odbc:".$dsn, $username, $password, array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)
);
}
catch (Exception $e) {
echo $e->getMessage();
}
$sql = 'SELECT * FROM LIB.TABLE ';
$stmt = $conn->prepare($sql);
$vals = $stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
是否有任何列长度限制或 unixODBC 和/或 PHP >= 5.1 的错误?这个网络应用程序运行得很好,然后我遇到了这个问题..
顺便说一句,我用装有 unixODBC 2.2.14 和 PHP 5.3 的更新的 64 位 CentOS 6.2 机器进行了测试,问题是一样的。
非常感谢任何帮助,
谢谢
法比安
更新:使用 PHP odbc 函数,它可以工作:
$conn = odbc_connect($dsn, $username, $password);
$res = odbc_exec($conn, $sql);
$rows = odbc_fetch_array($res);
所以问题更多地与 PDO 相关,知道吗?
最佳答案
这里遇到了同样的问题。发现 64 位 php-odbc 模块在返回具有 NULL 值的字段时导致段错误。解决方法是合并每个可能存在 NULL 值的字段。这不是一个好的解决方案。我正在查看 php-odbc.c 代码,但我不能保证一定会修复。
解决方法:SELECT COALESCE(CHAR(fieldname),'') FROM ...
我想我要用 32 位版本替换此服务器。我有其他的工作得很好。
关于php - 使用 unixODBC (DB2) + PHP + CentOS 的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10927983/
我有一个在 Docker 容器中运行的 Python Flask 应用程序,该容器通过 SQLAlchemy 连接到 MS SQL Server(企业数据库)。但是,当我尝试构建容器时遇到包冲突。这是
我正在尝试在 redhat 6.3 中安装 msodbcsql v13。它显示 unixODBC(64 位) >= 2.3.1 需要在安装 msodbcsql 之前安装的依赖项错误。 我尝试在命令下运
我要问和回答这个问题,因为这使我花了很长时间才弄清楚,我希望答案从这里开始。 问题:一个长时间运行的unixODBC查询会阻止同一应用程序中的所有其他查询。 问题是:如何阻止这种情况的发生。 最佳答案
我正在使用 ArchLinux,我正在尝试安装 OpenEdge 进度驱动程序,以便我可以通过 PHP 访问它。我已经安装了 unixodbc 包和驱动程序,但是当我通过 isql 或 PHP 测试连
我用 C++ 编写了一些使用 ODBC 远程处理数据库的软件。在这种情况下,数据库在 Postgres 引擎中运行,而我的软件在安装了 unixODBC 和 odbc-postgres 驱动程序的 U
我使用unixODBC连接到mssql数据库通过 odbc。问题是无论我添加多少数据源odbc.ini,它始终使用列表中的第一个数据库.. odbcinst.ini [ODBC] Trace
我的应用程序用于从大文件的不同部分读取数据并更新表。数据的每个部分都与一个单独的表相关联。更新过程可以包含多个插入、更新和删除语句。 我试图将文件拆分为多个文件并运行 3、4 或 n 个应用程序实例以
我的unixodbc可以连接到PostgreSQL,但是unixodbc总是写入错误的跟踪文件。我在/tmp/odbc.log 中设置跟踪文件,但 unixodbc 总是将其写入/tmp/sql.lo
我正在使用 Ubuntu+php+unixodbc+mdbtools 来处理 .mdb 文件。 每件事(连接+选择)都很好,但是插入或更新语句。 我的代码是这样的: $mdbConnection =
我有一个类似的查询 select x from tableName where startDate = { ts '?' } for update;");
我在一个环境中工作,该环境在组织范围内集中安装的驱动器上安装了 unixODBC,但我们(实际开发人员)不允许在其中安装驱动程序或数据源。这一切都是倒退的,但我必须忍受它。 现在我正在尝试构建一个 p
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我需要将 LAMP(Linux Ubuntu 12.10、Apache 2、MySQL 5、PHP 5.3)服务器中的 PHP 脚本连接到 Access MDB 数据库(2003 版)。 1。 uni
我试图弄清楚这两个拼图在连接到 Linux 上的 MS-SQL 服务器时如何交互和组合在一起。 据我了解,FreeTDS 是用于与 MS-SQL 对话的协议(protocol)(即一组规则),它是真正
有两个主要的开源平台独立实现ODBC 。是iODBC和 unixODBC . 考虑到 Unix 作为 ODBC 用户平台和功能,这两种实现之间真正的实际差异是什么? 最佳答案 只是为了让您知道我使用
我已将此代码包含在当前事件主题的 functions.php 中,并且在 WINDOWS 平台 上完美运行(即:我首先将 .mdb 文件上传到服务器上,然后从文件中读取表格)。就像我们使用 MySQL
我已经为此工作了太久,似乎无法弄清楚。我确定我的 freetds.conf、odbc.ini 或 odbcinst.ini 有问题。我可以使用 tsql 连接到我的 mssql 2008 服务器,但仍
我在 Ubuntu Linux 上,想知道如何检测系统有什么 ODBC 驱动程序管理器(如果有的话)。 像 Rakib 的评论一样,我使用的一种非常粗略的方法是简单地尝试运行 isql (unixOD
我正在使用 Debian。我安装了 unixODBC 以及 FreeTDS。我正在使用 PHP 我已经阅读了几个操作方法,但遇到了一个问题。 我使用 tsql 测试了 FreeTDS,它工作正常。 我
我使用来自 brainman (http://code.google.com/p/odbc) 的 ODBC 驱动程序将 Golang 与 FreeTDS 结合使用 一切正常,直到我对盒子进行压力测试。
我是一名优秀的程序员,十分优秀!