将mac os x php连接到vmware上的oracle XE

将mac os x php连接到vmware上的oracle XE,php,oracle,xcode,osx-snow-leopard,vmware,Php,Oracle,Xcode,Osx Snow Leopard,Vmware,我正在用XCode编写一个mac应用程序,它可以在mySQL和Oracle数据库之间切换。我已经成功地通过PHP与mySQL数据库进行了通信,但我不知道如何连接到mac上VMWare中WinXP下运行的Oracle数据库(11g XE)。我检查了phpinfo,并在我的PHP版本中安装了odbc,我的VMWare网络设置为NAT。我对这有点陌生。有什么建议吗 我尝试了以下脚本: <?php $conn = odbc_connect('username', 'password', 'myH

我正在用XCode编写一个mac应用程序,它可以在mySQL和Oracle数据库之间切换。我已经成功地通过PHP与mySQL数据库进行了通信,但我不知道如何连接到mac上VMWare中WinXP下运行的Oracle数据库(11g XE)。我检查了phpinfo,并在我的PHP版本中安装了odbc,我的VMWare网络设置为NAT。我对这有点陌生。有什么建议吗

我尝试了以下脚本:

<?php

$conn = odbc_connect('username', 'password', 'myHost/XE');

if (!$conn) {
trigger_error("Could not connect to database", E_USER_ERROR);
}


?>

这是我的私有oracle实例的tnsnames条目,我将其命名为MHORCL。Oracle正在我的mac vmware主机上的ubuntu vmware客户端上运行

您可以编辑(或创建)/etc/tnsnames.ora,添加类似条目。你的关系 字符串将类似于斯科特/tiger@mhorcl

#-------------------------------------------------------------------------------
# mhorcl -- mark's scratch server. it's behind a private vmware
#-------------------------------------------------------------------------------

MHORCL =                ##### WHATEVER LOGICAL NAME YOU WANT
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=168.3.1.3)  #### WHATEVER YOUR WINDOWS IP ADDRESS IS
      (PORT=1521)
    )
    (CONNECT_DATA=
      (SERVER=dedicated)
      (SERVICE_NAME=xe)
    )
  )

您应该安装Oracle客户端软件,可以从

罗纳德

我安装了10g XE而不是11g*,对不起。您尝试过php oracle函数吗?这太棒了。非常感谢。如何在PHP脚本中使用这些信息?我是否需要安装某种扩展(OCI18),或者snow leopard 10.6.5中的stock PHP安装就足够了?这是一个OCI的东西,所以在PHP级别需要做的唯一一件事就是更新连接字符串,以便@dbname部分与tns条目匹配。