我正在尝试使用以下程序连接到MySQL数据库 . 根据我呈现连接字符串的方式,我会收到以下错误 .
IP地址仅从':'与'mysql'分隔:conn = DriverManager.getConnection(“jdbc:mysql:[valid ip address] / localhost:3306 / [valid database name]”,“[valid username]”,“[有效密码]“);
SQLState:08001 VendorError:0 java.sql.SQLException:没有为jdbc找到合适的驱动程序:mysql:[valid ip address] / localhost:3306 / [valid database name]
IP地址'mysql'由':http://'分隔:conn = DriverManager.getConnection(“jdbc:mysql:[http://valid ip address] / localhost:3306 / [valid database name] "," [valid username] "," [valid password]”);
SQLState:08001 VendorError:0 java.sql.SQLException:没有为jdbc找到合适的驱动程序:mysql:[http://valid ip address] / localhost:3306 / [valid database name]
通过'://'与'mysql'分隔的IP地址:conn = DriverManager.getConnection(“jdbc:mysql:// [valid ip address] / localhost:3306 / [valid database name]”,“[valid username]” ,“[有效密码]”);
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障成功发送到服务器的最后一个数据包是0毫秒前 . 驱动程序未收到来自服务器的任何数据包 . SQLState:08S01 VendorError:0
在后一种情况下,堆栈跟踪提供'引起:java.net.ConnectException:连接被拒绝:连接'
在所有情况下,堆栈跟踪还表明设置变量'conn'的代码行正在抛出异常 .
请注意,在程序列表中,方括号内的文本表示混淆代码,并且括号实际上不在程序中 .
我的问题是,我是否真的安装了所需的驱动程序,或者我的连接字符串是否有问题?还有其他一些我没想过的问题吗?
Code follows
package [package name];
import org.junit.Test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class SQLConnectionTest
{
@Test
public void startWebDriver()
{
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
}
catch (Exception ex)
{
System.out.println(ex.getMessage());
}
Statement stmt = null;
Connection conn = null;
ResultSet rs = null;
try
{
conn = DriverManager.getConnection("jdbc:mysql://[valid ip address]/localhost:3306/[valid database name]","[valid username]","[valid password]");
// Do something with the Connection
}
catch (SQLException ex)
{
// handle any errors
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
ex.printStackTrace();
}
try
{
conn.close();
}
catch (SQLException e)
{
System.out.println(e.getMessage());
}
}
}
有关环境的一些信息:
IDE:Eclipse Luna Service Release 2(4.4.2),Build id:20150219-0600
jre系统库:jre1.8.0_45
MySQLConnector库:mysql-connector-java-5.1.36.jar(出现在Package Explorer的Referenced Libraries部分中)
我还安装了mysql-connector-java-gpl-5.1.36,jdk-8u45-windows-x64和selenium-java-2.45.0
我很乐意根据需要提供任何进一步的信息 .
1 回答
连接过程对我来说似乎没问题,但是连接URL中有一些奇怪的东西 . 你有
它有IP地址和localhost:端口 . 这不是有效的URL,您必须删除localhost或IP地址:
要么
这应该够了吧 .