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应用程序:

  1. 安装SQL Server Management Studio 2008或2012
  2. 安装SQL Server。将服务器实例命名为SQLExpress / SQLEXPRESS。确保服务器接受混合身份验证方法(SQL Server和Windows身份验证模式)c。为系统管理员提供密码:admin
  3. 安装最新的JRE和JDK
  4. 安装Netbeans
  5. 在SQL Server Management Studio中创建测试数据库以供以后测试
  6. 更新防火墙以接受TCP和UDP的传入和传出端口1434
  7. 打开SQL Server配置管理器

一个。停止SQL Server(SQLEXPRESS)和SQL Server浏览器服务

b。打开“ SQL Server网络配置”下的“ SQLEXPRESS协议”并启用TCP / IP

C。启用所有端口(特别是IPAll)并将端口设置为1434

d。再次启用服务(尤其是SQL Server浏览器)

  1. 将sqljdbc_4.0.2206.100_enu解压缩到C:\驱动器
  2. 从用于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的信息–请勿同时复制)。
  3. 将DLL文件复制并粘贴到C:\ Program Files \ Java \ jdk1.8.0_05 \ bin
  4. 将sqljdbc驱动程序添加到Java Netbeans应用程序

一个。将sqljdbc驱动程序添加到应用程序库中(右键单击添加)

b。在“服务”选项卡下,展开“数据库”,然后右键单击“驱动程序”

C。将sqljdbc4驱动程序添加到服务中(右键单击新建驱动程序…)

d。确保连接字符串类似于:jdbc:sqlserver:// localhost \ SQLEXPRESS; database = [数据库名称];
IntegratedSecurity = true; 将localhost \ SQLEXPRESS更改为您正在从中运行数据库的服务器