【发布时间】:2009-02-06 05:19:06
【问题描述】:
正如标题所说,我在从 PHP 脚本连接到 MSSQL 时遇到问题。
设置:-
- PHP 正在 Apache Linux 服务器上运行。
- Microsoft SQL Server 2008 位于 XP 计算机上。
- 我在 MSSQL Server 中打开了远程连接。
- 数据库 bggs 确实存在。
- 数据库正在运行(我可以看到一个绿色箭头)。
- 我在 XP 机器上没有防火墙。
如果您有任何调试问题,请随时提出。
我正在使用以下测试脚本。
<?php
include('adodb5/adodb.inc.php');
$db =& ADONewConnection('odbc_mssql');
$db->debug = true;
$dsn = "Driver={SQL Server};Server=ozmodiar;Database=bggs;";
$db->Connect($dsn,'user','password');
$rs = $db->Execute('select * from admin_users');
print "<pre>";
print_r($rs->GetRows());
print "</pre>";
?>
得到以下结果。
警告: odbc_connect() [function.odbc-connect]: SQL 错误: [unixODBC][Driver Manager]Data source name not found, and no default driver specified, SQL state IM002 in SQLConnect in /mnt/filestore/vhost /bggs/hr_database/Dev/includes/adodb5/drivers/adodb-odbc.inc.php 在第 60 行
(odbc_mssql):设置 CONCAT_NULL_YIELDS_NULL 关闭
警告:odbc_exec():在第 530 行的 /mnt/filestore/vhost/bggs/hr_database/Dev/includes/adodb5/drivers/adodb-odbc.inc.php 中提供的参数不是有效的 ODBC-Link 资源
IM002: [unixODBC][Driver Manager]未找到数据源名称,且未指定默认驱动程序
ADOConnection._Execute(SET CONCAT_NULL_YIELDS_NULL OFF, false) % 第 1017 行,文件:adodb.inc.php ADOConnection.Execute(SET CONCAT_NULL_YIELDS_NULL OFF) % 第 62 行,文件:adodb-odbc.inc.php ADODB_odbc._connect(Driver={SQL Server};Server=192.168.70.130;Database=bggs;, sa, knd121, ) % 第 524 行,文件:adodb.inc.php ADOConnection.Connect(Driver={SQL Server};Server=192.168.70.130;Database=bggs;, sa, knd121) % 第 9 行,文件:test_db.php
Driver={SQL Server};Server=192.168.70.130;Database=bggs;: [unixODBC][Driver Manager]未找到数据源名称,且未指定默认驱动程序
(odbc_mssql):从管理员用户中选择 *
警告:odbc_exec():在第 530 行的 /mnt/filestore/vhost/bggs/hr_database/Dev/includes/adodb5/drivers/adodb-odbc.inc.php 中提供的参数不是有效的 ODBC-Link 资源
IM002: [unixODBC][Driver Manager]未找到数据源名称,且未指定默认驱动程序
ADOConnection._Execute(select * from admin_users, false) % line 1017, file: adodb.inc.php ADOConnection.Execute(select * from admin_users) % line 10, file: test_db.php
致命错误:在第 12 行的 /mnt/filestore/vhost/bggs/hr_database/Dev/includes/test_db.php 中的非对象上调用成员函数 GetRows()
【问题讨论】:
标签: php sql-server tsql connect