dpale 发表于 2019-1-19 08:27:54

[已解决]求拯救 autoit连oracle数据库

本帖最后由 dpale 于 2019-1-20 14:47 编辑

我的程序老是提示the request action with this object has failed.
安装了客户端软件10.2 服务器安装的10g
终端机建立的数据源测试链接成功 使用plsql软件也可以链接
使用adodb.connection 和adodb.recordset打开或者引用创建的对象就会提示上面错误
试了三台电脑都是一样
大家用的驱动Microsoft ODBC for oracle 我使用时会跳出提示框 无法使用

dpale 发表于 2019-1-20 14:46:14

本帖最后由 dpale 于 2019-1-20 14:59 编辑

研究了很长时间,我大概说一下我的配置过程 希望对大家有帮助
服务器端 IP 192.168.1.13 安装的数据库是Oracle win32 10.2.0.1.0 防火墙加上端口1521
服务器数据库创建了一个表book(id, name) 插入了一行数据("1", "AU3TEST")
客户端IP 192.168.1.12 安装的是Oracle instantclient10.2.0.5(basic和odbc两个包) 解压到统一路径
比如 f:\data_conf
运行cmd 并切换到该目录下 运行odbc_install.exe 会提示成功信息
复制服务端安装目录下的Network\ADMIN\tnsnames.ora文件到客户端目录
把里面的Host改为服务器IP
客户端添加环境变量 ORACLE_HOME LD_LIBRARY_PATH TNS_ADMIN 三个环境变量,键值都是f:\data_conf 并将ORACLE_HOME加入到path中
添加环境变量NLS_LANG,键值为SIMPLIFIED CHINESE_CHINA.ZHS16GBK
现在配置基本完成。可以试验一下是否可以连接成功
打开控制面板-管理工具-数据源 -添加
选择驱动为 Oracle In instantclient10_2
输入Data Source Name 为test
TNS Service Name为下拉选项中的ORCL
UserID 为system
点Test Connection在弹出的对话框中输入密码oracle(我服务器密码设置的是oracle)
连接成功会提示 connection success
然后就可以编写程序了 代码如下example()

Func example()

$strDrv1 = "OraOLEDB.Oracle.1"
$strDataSour = "test"
$strUID = "system"
$strPWD = "oracle"
Local $ado = ObjCreate("ADODB.Connection")
Local $strConn = "Driver = " & $strDrv1 & ";Data Source = " & $strDataSour & ";" & _
   "User ID = " & $strUID & ";Password = " & $strPWD & ";Persist Security info = True;"
With $ado
   .ConnectionString = $strConn
   .Open
EndWith

Local $adors = ObjCreate("ADODB.Recordset")
Local $strsql = "select * from book"
With $adors
   .ActiveConnection = $ado
   .Source = $strsql
   .Open
EndWith
Local $num_adors = $adors.Fields.Count - 1
ConsoleWrite($num_adors & @CRLF)
While Not $adors.EOF
   For $i = 0 To $num_adors
          ConsoleWrite($adors.Fields($i).Value & @TAB)
   Next
   ConsoleWrite(@CR)
   $adors.MoveNext
WEnd
EndFunc

dpale 发表于 2019-1-19 08:29:06

提示未发现客户端组件

loffor 发表于 2019-1-19 21:06:12

没办法要积分聚在一起。

freedom 发表于 2019-7-31 02:16:39

这个经典,先收藏备用。
页: [1]
查看完整版本: [已解决]求拯救 autoit连oracle数据库