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

问题描述 投票:0回答:2

我已通过以下子例程成功连接到 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 表,但找不到有关此主题的任何文档。这可能吗?我无权访问任何 PowerApps API,因为我的 IT 部门不允许这样做。基本上我试图在下面的环境中找到表的连接字符串:

Power Apps Dataverse Web URL

如有任何帮助,我们将不胜感激。

我尝试在connectionstrings.com上寻找合适的解决方案,但还没有想出任何办法。我也尝试过使用各种关键字搜索谷歌。也许我正在寻找错误的东西。

excel vba ado powerapps dataverse
2个回答
0
投票

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

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

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

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

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


0
投票

我想知道你们中是否有人成功使用 VBA 在 Access to a Dataverse table 中创建了链接。 我已手动创建链接,但无法使用 RefreshLinks 方法将这些链接刷新。 我很高兴知道您是否解决了这个问题。谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.