读书人

为何如上代码在XP下运行是正常运行的

发布时间: 2013-01-26 13:47:03 作者: rapoo

为何如下代码在XP上运行是正常运行的,但在WIN7(64位)下运行就报错
报错信息如下:
Script: c:\aa.vbs
Line: 48
Char: 1
Error: [AR System ODBC Driver]Driver not capable
Code: 80004005
Source: Microsoft OLE DB Provider for ODBC Drivers

代码如下:

Dim objConnection 'CONNECTION对象实例
Dim objRecordSet 'RECORDSET对象实例
Dim objCommand '命令对象实例
Dim strConnectionString '连接字符串
Dim objField
Dim intArrayLength '数组长度
Dim i


Set objConnection = CreateObject("ADODB.CONNECTION")
strConnectionString = "DSN=AR System ODBC Data Source;ARServer=globalar.jci.com;UID=ayuang;PWD=Jame12$;ARAuthentication=;ARUseUnderscores=1;SERVER=NotTheServer"
objConnection.Open strConnectionString


If (objConnection.State = 1) Then
MsgBox "数据库连接成功!"
End If



If (objConnection.State = 0) Then
MsgBox "连接数据库失败!"
End If

i = 0
str_Array_QueryResult = Array() '重新初始化数组为一个空数组

Set rs = CreateObject("ADODB.RECORDSET") '4 - 建立RECORDSET对象实例
Set objCommand = CreateObject("ADODB.COMMAND") '5 - 建立COMMAND对象实例
objCommand.ActiveConnection = objConnection
objCommand.CommandText = "SELECT "&chr(34)&"HPD:HelpDesk"&chr(34)&"."&chr(34)&"Case ID+"&chr(34)&" from "&chr(34)&"HPD:HelpDesk"&chr(34)&" "&chr(34)&"HPD:HelpDesk"&chr(34)&" WHERE ("&chr(34)&"HPD:HelpDesk"&chr(34)&"."&chr(34)&"Assigned To Group+"&chr(34)&" Like "&chr(39)&"%apac.gen.as%"&chr(39)&") OR ("&chr(34)&"HPD:HelpDesk"&chr(34)&"."&chr(34)&"Entry Group"&chr(34)&" Like "&chr(39)&"%apac.gen.as%"&chr(39)&") ORDER BY "&chr(34)&"HPD:HelpDesk"&chr(34)&"."&chr(34)&"Case ID+"&chr(34)&""
rs.CursorLocation = 3


rs.Open objCommand '6 - 执行SQL语句,将结果保存在RECORDSET对象实例中



MsgBox "数据查询完成!" 'intArrayLength = objRecordSet.RecordCount 将查询结果的行数作为数组的长度

'Set shell=CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set ts = objFSO.CreateTextFile("output.txt", True)

line=""
For Each tmp In rs.Fields
line=line & tmp.Name & ","
Next
ts.WriteLine Left(line,Len(line)-1)
While Not rs.EOF
line=""
For Each tmp In rs.Fields
If IsNull(tmp.Value) Then
line=line & """" & Replace(tmp.Value,"""","""""") & ""","
Else
line=line & """" & tmp.Value & ""","
End If
Next
ts.WriteLine Left(line,Len(line)-1)
rs.MoveNext
Wend

rs.Close
ts.close
'objFile.WriteLine "testing"
'rs.Movenext
'Next i

'Loop

MsgBox "运行结束!"

读书人网 >VB Dotnet

热点推荐