当我将SQL Server数据库连接到用netbeans编写的Java应用程序时,我似乎遇到了错误:Cannot open database requested by the login. The login failed.
。
我阅读了大量文章,并完成了以下工作:
允许1433端口进入UDP和TCP下的防火墙
将SQL Server配置管理器TCP / IP端口设置为1433
将SQL Server Management Studio中的服务器身份验证更改为混合身份验证
SQL Server Management Studio中允许的远程连接
我的连接字符串如下:
jdbc:sqlserver://localhost\\SQLEXPRESS:1433;DatabaseName = SASS; IntegratedSecurity=true; Trusted_Connection=true;
我仍然收到以下错误:
Cannot open database "SASS" requested by the login. The login failed. ClientConnectionId:894b97b9-54d6-47cc-afd7-1473a460c09d
连续三天阅读后,我的智慧结束了。
答案 0 :(得分:2)
我似乎已经弄清楚发生了什么。我已经改变了我的电脑设置并更新了很多东西,我必须在整个过程中打破一些东西。
以下是我在其他人遇到Java连接问题时制定的一组说明。这是在新安装的机器上完成的:
将SQL Server数据库(2008或2012)连接到Java Netbeans应用程序:
打开SQL Server配置管理器
一个。停止SQL Server(SQLEXPRESS)和SQL Server Browser服务
湾在SQL Server网络配置下打开SQLEXPRESS的协议并启用TCP / IP
℃。启用所有端口(ESPECIALLY IPAll)并将端口设置为1434
d。再次启用服务(尤其是SQL Server Browser)
将sqljdbc驱动程序添加到Java Netbeans应用程序
一个。将sqljdbc驱动程序添加到应用程序库(右键单击“添加”)
湾在“服务”选项卡下,展开“数据库”,然后右键单击“驱动程序”
℃。将sqljdbc4驱动程序添加到服务(右键单击新驱动程序...)
d。确保连接字符串类似于: JDBC:SQLSERVER://本地主机\ SQLEXPRESS; database = [数据库名称]; integratedSecurity = true; 其中localhost \ SQLEXPRESS从
答案 1 :(得分:1)
您的连接字符串表示您正在通过可信连接使用集成安全性。这意味着运行调用数据库的进程的任何用户都必须能够访问SQL Server和您的个人数据库。我建议您在SQL中使用指定用户的混合身份验证。在MSDN SQL Server 2012文档中阅读有关它的更多信息:
然后你可以创建一个这样的连接字符串:
Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername;Password=myPassword;