如何在 VBA 中使用 ADODB 连接连接到 MS Dataverse

How to connect to MS Dataverse using ADODB Connections in VBA

我已使用以下子例程成功连接到 VBA 中的 MS SharePoint 列表:

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sConn As String
Dim sSQL As String
 
sConn = "Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=0;RetrieveIds=Yes;" & _
"DATABASE=https://<ORGANIZATION>.sharepoint.com/sites/<SITE>;" & _
"LIST={<LIST ID>};"

With cn:
    cn.ConnectionString = sConn
    Call cn.Open
End With

sSQL = "SELECT tbl.[<COLUMN NAME>] FROM [<LIST NAME>] as tbl;"
rs.Open sSQL, cn, adOpenStatic, adLockOptimistic
Application.ActiveSheet.Range("A2").CopyFromRecordset rs

我现在想知道如何在我的自定义工作环境中连接到 MS PowerApps Dataverse table,但找不到关于此主题的任何文档。这可能吗?我无权访问任何 PowerApps API,因为我的 IT 部门不允许这样做。基本上我试图在下面的这个环境中找到 table 的连接字符串:

感谢任何帮助。

我试图在 connectionstrings.com 上寻找 suitable 解决方案,但还没有想出任何办法。我还尝试使用各种关键字搜索 google。可能我找错了。

对 Dataverse 的访问是通过一组中央权限控制的,如果您的 IT 组阻止访问它 API,它也会阻止您访问 TSQL 端点。此外,必须在 Dataverse 上启用 TSQL 才能访问它(它可以被禁用)

您可以在此处找到有关如何连接的信息:https://docs.microsoft.com/en-us/powerapps/developer/data-platform/dataverse-sql-query

我建议,在 VBA 上投入大量时间之前,先检查 SQL Management Studio 以确保您可以登录和查询。你可以从这里得到:https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15

如果您可以登录和查询,您可以使用您输入到 Management Studio 中的相同数据构造连接字符串,

请记住,Dataverse TSQL 需要 AAD 授权才能登录。 请确保您花时间阅读此 https://docs.microsoft.com/en-us/sql/connect/ado-net/sql/azure-active-directory-authentication?view=sql-server-ver15 以了解要使用哪个提供程序以及如何形成连接字符串。