繁体   English   中英

Excel VBA使用ADODB查询Sharepoint上的MS Access数据库-“无效的文件名”

[英]Excel VBA to query MS Access database on Sharepoint with ADODB - “Not a valid file name”

有人可以启发我尝试连接到Sharepoint上存储的MS Access数据库时为什么收到“无效文件名”错误的消息吗? 连接到C:\\上的文件没有问题

    Set cnn = New ADODB.Connection
    MyConn = "C:\somelocation\database.accdb"

    With cnn
        .Provider = "Microsoft.ACE.OLEDB.12.0"
        .Open MyConn
    End With

但是当我将MyConn更改为Sharepoint地址时,它不起作用:/

     MyConn = "https://some.website.com/somelocation/database.accdb"

我收到“无效的文件名”。 非常感谢您的帮助!

您的MyConn只是一个URL,而不是ADODB连接期望的SMB 文件共享

您可以将文件下载到本地文件夹:

Option Compare Database
Option Explicit

Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" ( _
    ByVal pCaller As Long, _
    ByVal szURL As String, _
    ByVal szFileName As String, _
    ByVal dwReserved As Long, _
    ByVal lpfnCB As Long) _
    As Long

Public Function DownloadFile( _
    ByVal strURL As String, _
    ByVal strLocalFilename As String) _
    As Long

' Download file or page with public access from the web.
' 2004-12-17. Cactus Data ApS, CPH.

' Usage, download a file:
' lngRet = DownloadFile("http://www.databaseadvisors.com/Graphics/conf2002/2002ConferencePicsbySmolin/images/dba02smolin27.jpg", "c:\happybassett.jpg")
'
' Usage, download a page:
' lngRet = DownloadFile("http://www.databaseadvisors.com/conf2002/conf200202.asp", "c:\dbaconference.htm")

' Returns 0 if success, error code if not.
' Error codes:
' -2146697210 "file not found".
' -2146697211 "domain not found".

' Limitation.
' Does not check if local file was created successfully.

    Dim lngRetVal As Long

    lngRetVal = URLDownloadToFile(0, strURL & vbNullChar, strLocalFilename & vbNullChar, 0, 0)

    DownloadFile = lngRetVal

End Function

然后连接到本地文件。

使用下面的连接字符串,而文件路径应采用这种格式

\\ YourSiteDomain \\ DavWWWRoot \\ YourFilePath \\ YourDBase.accdb(在资源管理器视图中打开SharePoint网站,右键单击数据库文件选择属性,然后您可以看到文件路径)

连接字符串:Provider = Microsoft.ACE.OLEDB.12.0; Data Source = YourFilePath ; Jet OLEDB:Database

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM