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 完成.. 你那个SQL server的连接吧。。ORACLE应该不是这样连接 回复 2# auto
这样也是一样的结果
$conn.Open ("driver={microsoft odbc for oracle};server="&$Server&";uid="&$ID&";pwd="&$pw&";database="&$DataBASE) 本帖最后由 80ren 于 2012-4-13 11:41 编辑
sqlplus 能连接吗?
期待LZ大作 回复 4# 80ren
用Oracle的Sqlplus是可以连的 回复 3# xms77
你创建ODBC了没有? 回复 6# auto
是不是这样?
回复 7# xms77
是的。。。
连接字符串,那里还要指定ORACLE SID吧 回复 8# auto
请问SID在哪里设置啊?没有找到。 查了一下,好像不用SID也可以。。ORACLE 论坛有例子。找一下 $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]