2014-10-29 90 views
0

我新手Java DB的编码...Java的SQL连接被拒绝例外

这是我的Java代码

Connection conn = null; 
Statement stmt = null; 
Class.forName("com.mysql.jdbc.Driver"); 
System.out.println("Connecting to database..."); 
conn = DriverManager.getConnection("jdbc:mysql://localhost/EMP",USER,PASS); 
System.out.println("Creating statement..."); 
stmt = conn.createStatement(); 
String sql; 

这是我收到的例外:

ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/tiles].[default]] (http-localhost-127.0.0.1-8080-1) Servlet.service() for servlet default threw exception: java.net.ConnectException: Connection refused: connect 

我我的mySQL服务器也在运行,并且包含名为EMP的简单表。我没有解释get连接URL的问题。任何人都可以简单解释一下吗

谢谢。

+0

“连接被拒绝”= db的未运行,tcp端口被防火墙,套接字在错误的地方,等等等等等等。 – 2014-10-29 14:17:05

+0

查看服务器日志文件以了解发生了什么。 – Jens 2014-10-29 14:18:34

+3

您是否尝试使用MySQL驱动程序连接到SQL Express服务器? – RealSkeptic 2014-10-29 14:21:11

回答

1

您正在为数据库使用错误的驱动程序。每个数据库(MySQL,PostgreSQL,SQL Server,Oracle等)都有不同的驱动程序,它们是JDBC和特定数据库的通信协议之间的连接。

您需要Microsoft SQL Server驱动程序。如果您还没有它,可以从这里下载并安装它:Microsoft down page for JDBC 4.0 driver

以下是关于如何将jar添加到您的类路径以及使用哪个URL的instructions。请注意,在JDBC 4.0及更高版本中,forName不再需要。

0

从我可以看到和理解的是,你错过了港口。

你这样做它:

康恩=的DriverManager.getConnection( “JDBC:MySQL的://本地主机:3306/EMP”,USER,PASS);这是你的连接器 的mysql:这是您当前安装的数据库 //主机名:该机器托管服务器 PORTNUMBER:

URL可以以这种方式

JDBC来形容这使得港口连接服务器 /databaseName:它是您创建的数据库。

希望这是有益的

+0

和@RealSkeptic进一步解释,尝试验证您的路径,并确保您的数据库已正确安装。 – mkwilfreid 2014-10-29 14:41:55

0

下载微软的JDBC驱动程序,并使用Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);

如果问题仍然存在启用TCP/IP网络协议,这是默认禁用,并设置TCP/IP端口1433这是默认的端口号。