Java SQL Server 2012无法打开数据库错误
问题内容:
我似乎Cannot open database requested by the login. The login failed.
遇到了错误:将我的SQL Server数据库连接到用netbeans编写的Java应用程序时。
我已经阅读了许多文章,并做了以下工作:
-
在UDP和TCP下允许1433端口连接到防火墙
-
将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
连续阅读三天后,我机智了。
问题答案:
我似乎已经知道发生了什么事。我已经更改了电脑的设置并更新了很多东西,一路走来我肯定已经坏了。
如果其他任何人在Java连接方面遇到问题,则下面是我制定的一组说明。这是在新安装的计算机上完成的:
将SQL Server数据库(2008或2012)连接到Java Netbeans应用程序:
- 安装SQL Server Management Studio 2008或2012
- 安装SQL Server。将服务器实例命名为SQLExpress / SQLEXPRESS。确保服务器接受混合身份验证方法(SQL Server和Windows身份验证模式)c。为系统管理员提供密码:admin
- 安装最新的JRE和JDK
- 安装Netbeans
- 在SQL Server Management Studio中创建测试数据库以供以后测试
- 更新防火墙以接受TCP和UDP的传入和传出端口1434
- 打开SQL Server配置管理器
一个。停止SQL Server(SQLEXPRESS)和SQL Server浏览器服务
b。打开“ SQL Server网络配置”下的“ SQLEXPRESS协议”并启用TCP / IP
C。启用所有端口(特别是IPAll)并将端口设置为1434
d。再次启用服务(尤其是SQL Server浏览器)
- 将sqljdbc_4.0.2206.100_enu解压缩到C:\驱动器
- 从用于SQL Server \ sqljdbc_4.0 \ enu \ auth \ x86的C:\ Microsoft JDBC Driver 4.0或用于SQL Server \ sqljdbc_4.0 \ enu \ auth \ x64的C:\ Microsoft JDBC Driver 4.0复制并粘贴DLL文件(取决于有关您正在运行64位Java安装还是32位Java的信息–请勿同时复制)。
- 将DLL文件复制并粘贴到C:\ Program Files \ Java \ jdk1.8.0_05 \ bin
- 将sqljdbc驱动程序添加到Java Netbeans应用程序
一个。将sqljdbc驱动程序添加到应用程序库中(右键单击添加)
b。在“服务”选项卡下,展开“数据库”,然后右键单击“驱动程序”
C。将sqljdbc4驱动程序添加到服务中(右键单击新建驱动程序…)
d。确保连接字符串类似于:jdbc:sqlserver:// localhost \ SQLEXPRESS; database = [数据库名称];
IntegratedSecurity = true; 将localhost \ SQLEXPRESS更改为您正在从中运行数据库的服务器