我是首先下载了oracle client64位的程序。然后安装,配置完环境变量。最后在odbc 系统dsn的界面调试都已经可以用了,但是最后用php以及c++调用odbc连接都连接不上。最后判断应该是没有用32位的oracle 客户端的问题。
然后下载32位的客户端。32位的客户端需要下载两个文件一个是基础包一个是开发和运行时的扩展包下载连接
然后解压到同一个文件夹然后运行odbc_install.exe安装驱动。
如果安装报错Oracle ODBC Driver with same name already exists.界面一闪而过
则需要安装oracle client 再去oracle网站下载,安装的选项选择运行时。然后把ora文件拷贝到目录D:\app\Administrator\product\11.2.0\client_1\network\admin 新建文件 tnsnames.ora
然后把该目录加到环境变量TNS_ADMIN。 然后进入32位驱动如果报什么126的错误就是运行库装少了。把vcX86运行库都装一装,主要是windows2012 r2服务系统出过这种错误。
到这里32位的oracle odbc驱动就安装完了,
然后注意进入目录C:\Windows\SysWOW64 打开odbcad32.exe这个才是32位的odbc程序不要打开错了system32目录里面的odbc是64位的切记。
Data Source Name 随便写。以后连接会用到
TNS Service Name 这个是数据库名称
User ID 是用户名
然后test connection 输入密码测试连接。连接成功就可以用了
php在php配置里面开启odbc功能
<?php
//error_reporting(0);
header("constent-type:text/html;charset=gb2312");
$conn=odbc_connect('MEW','mesproread','WH2020r#ead');
if (!$conn)
{
exit("连接失败: " . $conn);
}
else {exit("连接ok: " . $conn);}
/*
$sql="";
$rs=odbc_exec($conn,$sql);
if (!$rs)
{
exit("SQL 语句错误");
}
odbc_fetch_row($rs);
$shijian=odbc_result($rs,1);
*/
odbc_close($conn);
?>