关于jdbc:如何通过Windows身份验证为SQL Server数据库正确设置ColdFusion数据源?

How do I setup a ColdFusion datasource properly for a SQL Server database through Windows Authentication?

在我的工作场所,我们尝试连接到另一台服务器上的Microsoft SQL Server数据库。我们的服务器是ColdFusion服务器,它通过代理AD帐户运行服务。数据库的所有者要求我们创建另一个AD帐户,并已通过Windows身份验证为其授予对其数据库的访问权限。尝试在ColdFusion管理员页面中为此连接创建数据源并输入代理帐户的信息后,我们收到此错误:

Connection verification failed for data source: xxxxxxx
java.sql.SQLInvalidAuthorizationSpecException: [Macromedia][SQLServer
JDBC Driver][SQLServer]Login failed for user 'xxxxxxx'. The root cause
was that: java.sql.SQLInvalidAuthorizationSpecException:
[Macromedia][SQLServer JDBC Driver][SQLServer]Login failed for user
'xxxxxx'.

我认识到这是因为它试图建立的连接可能是通过SQL身份验证进行的,并且它们可能未启用混合身份验证设置(基于查看先前的答案)。

所以我的问题是,我们还可以采取什么其他步骤来正确设置此连接?我假设在数据库方面,他们对更改身份验证设置或其他任何内容都不会感兴趣,这意味着我们只限于Windows身份验证。我们还有其他选择吗?


此链接很旧,但是Windows身份验证的说明仍然适用。要将CF数据源设置为使用Windows身份验证,请执行以下操作:

  • 编辑DSN,然后选择"显示高级设置">"连接字符串"。然后输入AuthenticationMethod=Type2并保存。
  • usernamepassword字段保留为空白

NB:ColdFusion服务必须在具有SQL Server权限的AD帐户下运行。不能以编程方式更改。