在我的工作场所,我们正在尝试连接到不同服务器上的Microsoft SQL Server数据库。我们的服务器是ColdFusion服务器,通过代理AD帐户运行服务。数据库的所有者要求我们创建另一个AD帐户,并通过Windows身份验证授予其访问其数据库的权限。尝试在ColdFusion管理页面中为此连接创建数据源并输入代理帐户的信息时,我们收到此错误:
数据源的连接验证失败:xxxxxxx java.sql.SQLInvalidAuthorizationSpecException:[Macromedia] [SQLServer JDBC驱动程序] [SQLServer]用户' xxxxxxx'登录失败。根本原因 是这样的:java.sql.SQLInvalidAuthorizationSpecException: [Macromedia] [SQLServer JDBC驱动程序] [SQLServer]用户登录失败 ' XXXXXX'
我认识到这是因为它尝试建立的连接可能是通过SQL身份验证,并且他们可能没有打开混合身份验证设置(基于查看以前的答案)。
所以我的问题是,我们可以采取哪些其他步骤来正确设置此连接?我假设在数据库方面,他们不会对更改其身份验证设置或任何内容感兴趣,这意味着我们只能使用Windows身份验证。我们还有其他选择吗?
答案 0 :(得分:3)
This link已过时,但Windows身份验证的说明仍然适用。要设置CF数据源以使用Windows身份验证:
AuthenticationMethod=Type2
并保存。username
和password
字段留空NB: ColdFusion服务必须在具有SQL Server权限的AD帐户下运行。它不能以编程方式更改。