这里给出的所有build议都已经尝试过了。
在我们的Azure Windows Server 2012 VM中,我们有一个Azure SQL数据库。 从Azure门户获得的ODBC连接string是:
Driver={ODBC Driver 13 for SQL Server};Server=tcp:databaseDomain.database.windows.net,1433;Database=DB_Name;Uid=user-id;Pwd=password;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;
另外,还有一个带有链接表的MS Access应用程序
这个应用程序中的表单通过DSN连接到链接表 。 DSN创build如下:
在ODBC数据源中:

SQL Server Native Client 11.0被选中

Azure SQL Server连接已设置

注意,Windowslogin是严格不使用的

数据库popup正确

在接下来的步骤中,我们使用默认值做所有事情

ODBC DSN设置似乎是成功的

在Access应用程序的VBA代码中,我们也更新了上面的连接string
在数据库工具下 – > VBA :
Set cn = New ADODB.Connection cn.Open "Driver={ODBC Driver 13 for SQL Server};Server=tcp:databaseDomain.database.windows.net,1433;Database=DB_Name;Uid=user-id;Pwd=password;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;"
当任何链接的表格被hover时,DSN细节正确显示:

但是,当试图打开任何链接的表时,会引发以下错误:

请注意,Windowslogin是严格不使用的,那么问题是什么?
看起来我们有同样的问题。 我的答案是我的表需要在将数据库迁移到Azure后重新链接。
如果您使用ODBC连接在Access中创build数据库,则使用上次修改并保存的系统中的一串信息将这些表链接到SQL Server。 对于我的表格,这些年来,他们在多个不同的系统上进行了修改,但是所有的系统都使用了Windows集成login。
我在打开我创build的基于Access的应用程序时打开它,以便在左侧看到所有的表格/查询/表单/等。
然后,我切换到查看左上方菜单的表格。 然后,我右键单击一个表(任何表将执行)以打开“链接表pipe理器”。
在链接表pipe理器中,我单击“全选”,点击“确定”,然后打开向导。 我使用我的ODBC连接凭证创build了一个DSN文件,然后将每个表链接到该文件。 之后,我能够正常地打开所有的东西。 重新链接需要很长时间,但这是我想办法解决这个问题的唯一方法。