通过ADO COM技术可以
$conn = new COM("ADODB.Connection"); 
$rs = new COM("ADODB.RecordSet"); 
$conn->ConnectionString="Provider=MSDASQL.1;Data Source=odbc1;"; 
$conn->Open(); 
... ...
我的家:http://www.wodejia.net

解决方案 »

  1.   

    可是 open()里面写什么呢?什么也不用吗?$conn 即是 返回的连线 值吗?
      

  2.   

    今天刚写了一篇关于这个的文章,在我的主页wodejia.net
    贴出来,如下:
    一、前言    今天在csdn.net上看到两个关于PHP连接Access的问题,意思大概是想知道不通过PHP的Odbc_connect方式,是否能连接Access数据库,于是,我想到用ADO COM组件的方式,试了一下,果然成功,写一文,贡献给大家! 二、配置   这里要注意的是,用这个方式,还是必须配置一个系统ODBC数据库源,我试了,不能用asp连接无数据源的方式连接,如果有哪位朋友用无数据源的方式连接成功了,请指导在下,分享成功。我用的是Win2000P,系统ODBC数据源名称是:odbc1,该数据库为:db1,数据库db1有一个表,名称为:table1,表table1有两个字段id(自动增长)和field1(str(10)),里面随便输入一些测试数据。  三、代码<?$conn = @new COM("ADODB.Connection") or die("ADO 连接创建失败!");$rs = @new COM("ADODB.RecordSet") or die("ADO 记录集创建失败!");$conn->open("Provider=MSDASQL.1;Data Source=odbc1;"); $rs = $conn->Execute("SELECT * FROM table1 ORDER BY id DESC;"); $row=1; echo "<table border=1>";while(!$rs->EOF){   echo "<tr>";   for($col=0;$col<$rs->Fields->Count;$col++)   {      echo "<td>";      echo $rs->Fields[$col]->Name.":".$rs->Fields[$col]->Value;      echo "</td>";   }   $row++;   echo "</tr>";   $rs->MoveNext();}echo "</table>";$rs->Close;$conn->Close;?>四、简单说明   (1)$conn = @new COM("ADODB.Connection") or die("ADO 连接创建失败!");中@的用法,很多朋友或许已经知道了,不知道的朋友,可以将这个“@”去掉,然后,将ADODB故意写错成ADOBD,看看有什么提示,然后再将“@”加上,区别两种情况,就明白了。   (2)$conn->open("Provider=MSDASQL.1;Data Source=odbc1;");这行,可以分为两行写:$conn->ConnectionString="Provider=MSDASQL.1;Data Source=odbc1;";$conn->Open(); 要注意,不能象ASP那样写:$conn->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DBQ=db1.mdb";我这样试了,将db1.mdb放到php文件同一个目录,然后测试,出现了如下错误:Warning: Invoke() failed: 发生意外。 至于原因,请别问我,我搞不懂,如果你知道,请告诉我,~0~
       (3)其他代码,我想应该比较清晰了吧(特别是那些以前了解ASP的人)......
      

  3.   

    高手,还有一个问题:odbc_connect() 如果连接成功以后,就可以返回一个 连接后的 id 值而我想知: 用com 连接后,能不能取得这个 id值呢?
      

  4.   

    COM连接不返回id
    返回一个Object
      

  5.   

    我所要的正是 希望通过 com连接取得 一个像 odbc_connect() 那样的 连线 id如果取得不了,所努力的一切变得没有实用价值。唉。
      

  6.   

    其实,echo $conn;
    取得的 object 也并不是在建立联接后,返回的 object 而是用 $conn = new com( )后,就为 object 了