找回密码
 加入
搜索
查看: 6980|回复: 10

[系统综合] AU3连接oracle数据库出错是怎么回事?

  [复制链接]
发表于 2012-4-13 10:40:52 | 显示全部楼层 |阅读模式
本帖最后由 xms77 于 2012-4-13 12:37 编辑

我公司是用oracle软件来访问数据库的,我想用au3来实现,现在连接数据库有问题,但是不知道怎么回事,老是运行出错,代码如下,请数据库高人提点一下,谢谢!
Dim $Server = "10.38.200.12" ;SQL主机名称
Dim $ID = "eis\$spc" ; 登入数据库主机的账号  一般都会用sa
Dim $pw = "spcreport" ;登入数据库主机的密码
DIM $DataBASE="ods" ;数据库名称
 
$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
 
$conn.Open ("driver={SQL Server};server="&$Server&";uid="&$ID&";pwd="&$pw&";database="&$DataBASE)  ;主机名IP127.0.0.1,UID=用户,PWD=密码,database=数据库名  
If Not @error Then MsgBox(0,0,"connect successfully")


运行出错信息如下:
>运行:(3.3.7.15):D:\autoit3\autoit3.exe "D:\autoit3\my program\999.au3"    
D:\autoit3\my program\999.au3 (9) : ==> ??????(?????).:
$conn.Open ("driver={SQL Server};server="&$Server&";uid="&$ID&";pwd="&$pw&";database="&$DataBASE)
$conn.Open ("driver={SQL Server};server="&$Server&";uid="&$ID&";pwd="&$pw&";database="&$DataBASE)^ ERROR
->10:33:35 AutoIT3.exe 完成:[CODE]:1
+>10:33:35 ACNWrapper 完成..
发表于 2012-4-13 10:51:55 | 显示全部楼层
你那个SQL server的连接吧。。ORACLE应该不是这样连接
 楼主| 发表于 2012-4-13 11:00:36 | 显示全部楼层
回复 2# auto
这样也是一样的结果
$conn.Open ("driver={microsoft odbc for oracle};server="&$Server&";uid="&$ID&";pwd="&$pw&";database="&$DataBASE)
发表于 2012-4-13 11:24:48 | 显示全部楼层
本帖最后由 80ren 于 2012-4-13 11:41 编辑

sqlplus 能连接吗?
期待LZ大作
 楼主| 发表于 2012-4-13 11:48:03 | 显示全部楼层
回复 4# 80ren
用Oracle的Sqlplus是可以连的
发表于 2012-4-13 12:54:28 | 显示全部楼层
回复 3# xms77


    你创建ODBC了没有?
 楼主| 发表于 2012-4-13 14:54:38 | 显示全部楼层
回复 6# auto
是不是这样?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-4-13 16:23:57 | 显示全部楼层
回复 7# xms77


    是的。。。

连接字符串,那里还要指定ORACLE SID吧
 楼主| 发表于 2012-4-13 16:34:10 | 显示全部楼层
回复 8# auto
请问SID在哪里设置啊?没有找到。
发表于 2012-4-13 16:55:50 | 显示全部楼层
查了一下,好像不用SID也可以。。ORACLE 论坛有例子。找一下
发表于 2012-4-14 18:29:25 | 显示全部楼层
$server = "sp1" ;tnsname.ora 中配置的数据库别名
$Userid = "spdata" ;oracle 用户名
$Password = "spdata" ;oracle 用户密码

$OraOBJConn = ObjCreate("ADODB.Connection") ; Create a COM ADODB Object with the Beta version

With $OraOBJConn
        .ConnectionString = ("DRIVER={Microsoft ODBC for Oracle};SERVER=" & $server & ";User Id=" & $Userid & ";Password=" & $Password & ";")
        .Open
EndWith

$OraOBJRecSet = ObjCreate("ADODB.RecordSet") ; Create a Record Set to handles SQL Records
$OraOBJRecSet.open("Select * from t_sp_table_info order by table_id", $OraOBJConn)

$result = ""
If $OraOBJRecSet.recordcount <> 0 Then
       
        $OraOBJRecSet.MoveFirst
        For $i = 0 To $OraOBJRecSet.Fields.Count - 1
                $result &= " " & $OraOBJRecSet.Fields($i).name
        Next
        $result &= @CRLF

        While Not $OraOBJRecSet.EOF
                For $i = 0 To $OraOBJRecSet.Fields.Count - 1
                        $result &= " " & $OraOBJRecSet.Fields($i).value
                Next
                $result &= @CRLF
                $OraOBJRecSet.MoveNext
        WEnd

EndIf
MsgBox(0, "Results", $result)

$OraOBJConn.Close
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-18 15:53 , Processed in 0.088350 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表