PHP ODBC - Access 2007:函数调用问题:odbc_columns
Posted
技术标签:
【中文标题】PHP ODBC - Access 2007:函数调用问题:odbc_columns【英文标题】:PHP ODBC - Access 2007: Function Call Problems: odbc_columns 【发布时间】:2010-02-11 17:41:47 【问题描述】:我已经设法使用如下的 odbc_connect 来访问 2007 和 2003,我可以获取数据。但是当我尝试获取列名时,以下函数不适用于 access 2007,但适用于 access 2003 - 为什么?
if($type[1]=='mdb')
$connection = odbc_connect("Driver=Microsoft Access Driver (*.mdb);Dbq=$mdbFilename", $username, $password);
else
$connection = odbc_connect("Driver=Microsoft Access Driver (*.accdb);Dbq=$mdbFilename", $username, $password);
function get_columns($activity_file)
global $connection;
global $typee;
$coulmn_array = array();
$result = odbc_columns($connection, $typee, "", $activity_file, "%");
while (odbc_fetch_row($result))
$coulmn_array[] = odbc_result($result, "COLUMN_NAME");
echo '<br>Exporting table '.$activity_file;
return $coulmn_array;
我的意思是我可以得到数据和一切,只是这个功能似乎不起作用!
请帮忙!
更新
我在谷歌附近找到了this thread。
我可以确认这个人在说什么。提供 table_name 意味着这不起作用。但如果你不这样做,它会。这是不可接受的,因为要返回哪些列以及哪些表?我需要知道这一点!
【问题讨论】:
【参考方案1】:这是一个长镜头,但与 Access 2007 相关的 ODBC 函数 SQLDescribeCol 和 SQLColAttributes 存在问题。odbc_columns
可能会使用这些函数。它在this KB article 中有描述。
【讨论】:
我希望这不是影响我的原因!我查看了我的 office 2007 安装,它显示了这个版本号:12.0.6425.1000。但是补丁的版本看起来像它:12.0.6300.5000 - 这意味着我希望已经超过了这个版本,因此有一个修复它。 @Abs:那时可能不是这样。作为健全性检查,您可能会查看 aceodbc.dll 的版本以确保它匹配,但听起来您拥有正确的版本。 感谢您让我知道这一点。分发这些脚本时需要注意的事项。以上是关于PHP ODBC - Access 2007:函数调用问题:odbc_columns的主要内容,如果未能解决你的问题,请参考以下文章
使用 Oracle 的 ODBC 链接表登录 Access 2007
无法使用 MS Access 2007 访问 ODBC DB
在 MS Access 2007 中对 ODBC 表导入 sql 查询