xms77 发表于 2012-4-13 10:40:52

AU3连接oracle数据库出错是怎么回事?

本帖最后由 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 完成::1
+>10:33:35 ACNWrapper 完成..

auto 发表于 2012-4-13 10:51:55

你那个SQL server的连接吧。。ORACLE应该不是这样连接

xms77 发表于 2012-4-13 11:00:36

回复 2# auto
这样也是一样的结果
$conn.Open ("driver={microsoft odbc for oracle};server="&$Server&";uid="&$ID&";pwd="&$pw&";database="&$DataBASE)

80ren 发表于 2012-4-13 11:24:48

本帖最后由 80ren 于 2012-4-13 11:41 编辑

sqlplus 能连接吗?
期待LZ大作

xms77 发表于 2012-4-13 11:48:03

回复 4# 80ren
用Oracle的Sqlplus是可以连的

auto 发表于 2012-4-13 12:54:28

回复 3# xms77


    你创建ODBC了没有?

xms77 发表于 2012-4-13 14:54:38

回复 6# auto
是不是这样?

auto 发表于 2012-4-13 16:23:57

回复 7# xms77


    是的。。。

连接字符串,那里还要指定ORACLE SID吧

xms77 发表于 2012-4-13 16:34:10

回复 8# auto
请问SID在哪里设置啊?没有找到。

auto 发表于 2012-4-13 16:55:50

查了一下,好像不用SID也可以。。ORACLE 论坛有例子。找一下

h20040606 发表于 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
页: [1]
查看完整版本: AU3连接oracle数据库出错是怎么回事?