为Azure数据库创建文件DSN

时间:2017-01-13 10:48:07

标签: sql-server azure odbc azure-sql-database

我想将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

凭据是正确的,因为:

  1. 我可以使用具有相同凭据的SSMS连接到数据库
  2. 当我尝试使用UserSystem DSN执行相同操作时,我没有遇到任何错误。但我不想要这个,因为我想与所有机器共享数据源。
  3. 有什么想法吗?

2 个答案:

答案 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