langyuziyou 发表于 2013-6-13 10:40:48

AUTOIT3 查询数据库遇到的无法读取问题

本帖最后由 langyuziyou 于 2013-6-13 13:26 编辑

用AUTOIT 连接数据库并且读取数据。如果是'select * from all_users'表是可以读结果的出来,但是如果把执行语句换成 'select * from test' (test是我自己创建的表),就无法读出数据这是为什么了?

Local $role
$Connection ="DRIVER={MICROSOFT ODBC FOR ORACLE};Server=ORCL;User Id=JUSTICE;Password=ROOT123"


$adoCon=ObjCreate("ADODB.Connection");建立ADO对象
$adoCon.open($Connection)
$adoRs=ObjCreate("ADODB.Recordset");建立数据集对象
$adoRs.ActiveConnection=$adoCon;绑定连接
$adoRs.open("select * from TEST")
While Not $adoRs.eofAnd Not $adoRs.bof
      If @error=1 Then ExitLoop
      For $i=0 To $adoRs.fields.count-1
                $role=$role&$adoRs.fields($i).value&@CRLF
      Next
      $adoRs.movenext
WEnd
$adoRs.close
$adoCon.close
$role=StringLeft($role,StringLen($role)-1)
MsgBox(0,"",$role)

以下是报出错误:
C:\Users\Administrator\Desktop\script\?????\connectOracle_test.au3 (21) : ==> The requested action with this object has failed.:
$adoRs.open("select * from TEST")
$adoRs.open("select * from TEST")^ ERROR

JUSTICE@ORCL AS SYSDBA JUSTICE是sysdba的权限
语句在oracle执行是成功的,但是用autoit 执行会出错。
望前辈们指教。

auto 发表于 2013-6-13 13:04:00

本帖最后由 auto 于 2013-6-13 13:06 编辑

test 是 JUSTICE用户 建立的表的?
看看all_table 的rest表用户是谁

langyuziyou 发表于 2013-6-13 13:24:41

回复 2# auto


test 是 justice 创建的表
在oracle 中执行是成功的,但是在autoit中执行会报错。

xms77 发表于 2013-6-13 13:46:42

本帖最后由 xms77 于 2013-6-13 16:01 编辑

回复 1# langyuziyou
我一直都没有连上过Oracle数据库,楼主可以说说要怎么配置ODBC吗?
我安装的是Oracle Client 11g

kk_lee69 发表于 2013-6-13 16:22:50

看看 權限問題   遇過資料庫 不開放 SELECT就讀取不到

auto 发表于 2013-6-13 19:50:50

先试试select * from dual;看看会不会出错

auto 发表于 2013-6-13 19:52:29

内网IP还是外网的IP,如果是外网把服务器IP贴出来看看

卓越网维小邓 发表于 2013-6-17 15:17:49

我觉得还是权限问题
页: [1]
查看完整版本: AUTOIT3 查询数据库遇到的无法读取问题