ODBC 函数

目录

添加注释

用户贡献的注释 9 注释

Quickdraw
19 年前
针对 Holger 关于使用 @@identity 的评论

小心。如果您插入的表具有一个触发器,该触发器还会插入另一个具有标识列的表,您将获得该其他表的键!使用 scope_identity() 而不是 @@identity
sven at ajaxtechforums dot com
18 年前
我发现这是 7.5.00 版本 MaxDB 特殊驱动程序的完美替代方案。它们在 *nix 上安装起来并不容易。Windows 似乎没问题。无论如何,ODBC 是将 SAPDB/MaxDB 连接到 PHP 的完美替代方案。

可以在这里找到 odbc 替代方案(而不是 MAXDB-php 驱动程序)的安装指南

http://maxdb.yapabout.com/viewtopic.php?t=21
vbwebprofi at gmx dot de
20 年前
在我寻找一个函数来检索插入行的 NewID(该行具有自动增量)时,我找到了像 mysql_insert_id 一样的解决方案,用于与 MS-Access 的 ODBC 连接

<?
// 在下面建立连接
$Connection = odbc_connect(...);
$Result = odbc_exec($Connection, "select @@identity");
$NewID = odbc_result($Result, 1);
odbc_free_result($Result);

// 在这里进行所有您想要使用 NewID 做的操作

odbc_close($Connection);
?>

我认为这也适用于 MS-SQL-Server 和 Sybase - 通过 ODBC 和直接 (mssql_.../sybase_...)。

希望对您有所帮助...

此致

Holger
匿名
19 年前
我搜索了为什么 Windows + Apache 2.0.X 下的网络远程驱动器上的 odbc 连接无法执行查询的解决方案,但似乎没有人提供解决方案。

实际上,这很简单。
转到控制面板 -> 服务;
找到并双击“Apache2”;
在“登录”页面中,选择“以以下帐户登录”,并在 Web 服务器系统中提供一个具有控制网络远程驱动器权限的帐户;
最后,重启 Apache,就是这样。
denials at gmail dot com
19 年前
您是否想知道为什么使用 IBM DB2 Universal Database for Linux, UNIX, and Windows 时数据检索速度非常慢?Unified ODBC 使用的默认游标类型不受 DB2 支持,因此它将降级为仅向前游标 - 并且该协商会在每次行提取时发生。

强制您的 PHP 应用程序使用仅向前游标的一种方法是使用方便的 CLI patch2 设置值 6 修改您的 DB2 客户端配置

$ db2 UPDATE CLI CONFIGURATION FOR SECTION dbname USING patch2 6

您必须在运行 PHP 应用程序的同一台机器上更新此客户端设置。这适用于 Windows 操作系统以及 Linux 和 UNIX 操作系统。

我运行了一些基本基准测试(从远程数据库服务器获取包含 3 个 INTEGER 列的 10,000 行数据),并得出结论,此设置可以对应用程序速度产生重大影响

没有 CLI patch2 设置:约 22 秒
有 CLI patch2 设置:约 1.75 秒

请注意,使用此 patch2 设置(或使用仅向前游标的任何其他方法)的缺点是,odbc_num_rows() 始终为受 SELECT 语句影响的行数返回“-1”。
pascals at NOSPAM dot pobox dot com
20 年前
如果捆绑的 ODBC 库在某些字段格式(如 Pervasive.SQL 中的一些 REAL)上出现问题,请查看 http://odbtp.sourceforge.net/.

在经历了许多麻烦之后,我采用了 odbtp:它是一个非常可靠的库,最重要的是它不依赖于特定的操作系统。
xangelusx at hotmail dot com
18 年前
如果您收到一个错误,指出“连接正忙于处理另一个 hstmt 的结果,SQL 状态为 S1000,在 SQLExecDirect 中”,请尝试使用 SQL_CURSOR_FORWARD_ONLY 选项打开您的 odbc 连接

<?php
$db_link
= odbc_connect($dsn, $username, $password, SQL_CURSOR_FORWARD_ONLY)
or die(
'Error connecting to server. Server says: '.htmlspecialchars(odbc_errormsg()));
?>
chaz_meister_rock at yahoo dot com
16 年前
Windows 64 中使用 ODBC 的注意事项

我确信 PHP 在 Windows 64 位系统上只能访问 32 位 ODBC 内容。因此,您需要通过位于以下位置的数据源管理员配置您的 ODBC DSN:

/WINDOWS/SysWOW64/odbcad32.exe
匿名
17 年前
当我使用 odbc 仅通过查询进行联接检索数据时,从 MS SQL Server 检索数据遇到了很大的性能问题。

我发现,我需要使用“SQL_CUR_USE_ODBC”光标类型连接,一切正常。

$conn = odbc_connect("ShopLive", 'shop', 'xxx', SQL_CUR_USE_ODBC);
To Top