java SQL连接拒绝异常

时间:2014-10-29 14:15:34

标签: java mysql sql

我是java db编码的新手......

这是我的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的简单表。我没有完全解释获取连接URL。有人能简单解释一下吗?

感谢。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

从我能看到和理解的是你错过了这个端口。

你已经用这种方式做到了:

conn = DriverManager.getConnection(" jdbc:mysql:// localhost:3306 / EMP",USER,PASS);

可以用这种方式描述网址

jdbc:这是你的连接器 mysql:这是您当前安装的数据库 // hostname:托管服务器的机器 portNumber:允许连接服务器的端口 / databaseName:您创建的数据库。

希望它有用

答案 2 :(得分:0)

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

如果问题仍然存在,则启用TCP / IP网络协议(默认情况下禁用),并将TCP / IP端口设置为1433,这是默认端口号。