我正在关注这本书"学习java for web development"目前由vishal layka提供。但我遇到了一个问题,我将在这里尽可能地描述。基本上我无法连接到我的数据库,名为" book"与connectorj 5.0.8。数据库在microsft sql server 2014上本地运行。 这是用于获取连接的方法。
private Connection getConnection() throws SQLException
{
return DriverManager.getConnection("jdbc:mysql://localhost:3306/books","eoin", "");
}
当我试图获得连接时,我得到了这个输出。
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.ConnectException
MESSAGE: Connection refused: connect
我在" sql server配置管理器中编辑了我的sql server配置"工具,使其在端口3306上运行,并在localhost上启用。服务但仍然没有快乐。下面显示了此配置的图像。
我想,也许我对sql server的了解不足让我回到了这里。 另一件事,我认为可能是sql管理工作室的问题。 当我尝试更改登录属性密码时。这在下图中圈出。
当我更改此密码时,然后点击"确定"然后重新输入此db用户的"登录属性,然后我之前更改的密码似乎已恢复到原来的状态?我可能正在咆哮错误的树,但我不太确定?我希望这个问题很清楚,任何帮助都表示赞赏!
快速编辑。我还尝试完全关闭防火墙,但仍然无法连接。
答案 0 :(得分:0)
首先,你的连接字符串是错误的。
jdbc:mysql://localhost:3306/books
将其更改为
jdbc:sqlserver://localhost:3306/books
请参阅connection string info here。
其次,您可能需要在协议中打开TCP / IP,因为默认SQL Server express只有Named Pipes open。了解如何open TCP/IP Protocol here。
答案 1 :(得分:0)
对MS SQL Server使用“jdbc:mysql”是错误的。如果我很严谨,请尝试Building the Connection URL MS SQL Server 2012