我是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。有人能简单解释一下吗?
感谢。
答案 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,这是默认端口号。