我正在尝试使用Eclipse连接到SQL Server数据库,但这给了我错误:
Cannot open database "AdventureWorks2012" requested by the login. The login failed.
答案 0 :(得分:0)
由于您使用的是integratedSecurity=true
,这意味着您的Windows帐户不允许访问AdventureWorks2012
数据库。您需要向登录(或运行Eclipse)的Windows帐户授予数据库访问权限。您可以按照To configure database access文档授予Windows帐户访问权限:
在运行SQL Server的计算机上,启动SQL Server Management Studio。在“注册服务器”窗格中,双击“ SQL Server”。
在对象浏览器窗格中,依次展开“ SQL Server”,“安全性”文件夹,右键单击“登录名”,然后单击“新建登录名”。
在“登录-新建”对话框中,指定Windows身份验证或SQL Server身份验证模式。
如果使用Windows身份验证,请输入登录名,然后选择“授予访问权限”或“拒绝访问权限”选项。
如果使用的是SQL Server身份验证,请键入登录名和密码,然后确认密码。
在左窗格中,单击“数据库访问”。
在右窗格中,为要授予访问权限的数据库选中“允许”复选框,然后单击“确定”。
如果要通过指定用户名和密码进行连接,请使用integratedSecurity=false
并提供Establishing a Connection文档中所示的用户名和密码:
String jdbcUrl = "jdbc:sqlserver:...";
Properties props = new Properties();
props.put("user", <database username>);
props.put("password", <database password>);
try (Connection conn = DriverManager.getConnection(jdbcUrl, props)) {
...
}