Win7上的记录错误,而不是Win XP(运行时错误-2147217895(80040e19))
问题描述:
错误。描述: 无法找到一个对象或数据匹配的名称,沙滩或选择标准范围内这个操作。Win7上的记录错误,而不是Win XP(运行时错误-2147217895(80040e19))
我在Windows 7上运行代码时出现此错误。它不出现在Windows XP上。 我看了这个article,没有运气。以下是代码:
Public Function testLL()
Dim rc As New ADODB.Record
Dim rs As New ADODB.Recordset
Dim conn As ADODB.Connection
Dim objStream As New ADODB.Stream
Dim sURL As String
sURL = "http://livelink.company.com/livelinkdav/nodes/154680737/"
rc.Open sURL, , adModeReadWrite
Set rs = rc.GetChildren
If Not (rs.BOF And rs.EOF) Then
rs.MoveFirst
MsgBox rs.Fields(1).Value
End If
End Function
有些人提出这是MDAC版本的问题。我可以检查Windows 7上的版本,但是我需要XP上的管理员权限,因此我无法验证版本是否相同。
答
我尝试了另一个选项,它在我尝试连接到livelink时正常工作,但当我尝试使用Content Server时,它不起作用。我仍然使用LiveLink进行测试。
我改变了/在SURL到\:
sURL = "\\livelink.ge.hydro.qc.ca\livelinkdav\nodes\154680737
Dim objFSO As New Scripting.FileSystemObject
Dim objFolder As Scripting.Folder
Dim colFiles As Scripting.Files
Dim colFolders As Scripting.Folders
Set objFolder = objFSO.GetFolder(sURL)
Set colFiles = objFolder.Files
Set colFolders = objFolder.SubFolders
MsgBox colFiles.Count
MsgBox colFolders.Count
有了这个代码,我可以数清我LiveLink的文件夹中的文件夹和文件,我也能够创建文件夹。尽管如此,我还是希望使用URL,因为由于某些原因,这不适用于Content Server(无法找到路径)。我仍然不知道为什么我以前的代码在Windows XP上运行,而不是在Windows 7上运行。
编辑:可能是因为webdav在64位中默认配置不正确?