我想将Access表单与Azure SQL Server数据库连接。为了做到这一点,我必须创建新的File DSN
(因为我希望这个数据源可以在所有机器上使用,而不仅仅是我的。)
当我尝试使用管理工具执行此操作时,我甚至无法使用我的SQL凭据连接到Azure上的SQL Server。我收到这个错误:
Connection failed:
SQLState: '28000'
SQL Server Error: 18456
[Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user xxxx
凭据是正确的,因为:
User
或System
DSN执行相同操作时,我没有遇到任何错误。但我不想要这个,因为我想与所有机器共享数据源。有什么想法吗?
答案 0 :(得分:2)
我能够在我的测试中重现这一点:
假设您拥有服务器名称为 DBSERVER .database.windows.net的Azure数据库,为了设置文件DSN,您必须使用以下格式指定登录名:
LOGIN@DBSERVER
这应解决这个问题。
此致 林
修改强>
我用contained user复制了这个。无论如何,解决方法是手动创建包含以下内容的txt文件,并将文件扩展名更改为.dsn。
[ODBC]
DRIVER=SQL Server Native Client 11.0
UID=USERNAME@DBSERVER
Encrypt=yes
DATABASE=DBNAME
WSID=HOSTNAME
APP=Microsoft® Windows® Operating System
SERVER=tcp:DBSERVER.database.windows.net,1433
答案 1 :(得分:0)
通常 SQL Server Native 会在文件 DSN 中产生问题。我希望下面提到的查询会起作用,因为它对我来说很好
[ODBC]
DRIVER=SQL Server
UID=nazim.virani
DATABASE=DBNAME
WSID=HOSTNAME
APP=Microsoft® Windows® Operating System
SERVER=INSTANCE