从Selenium Java测试脚本连接到MySQL数据库失败
我试图使用下面的程序连接到MySQL数据库。根据我如何提供连接字符串,我得到以下错误。从Selenium Java测试脚本连接到MySQL数据库失败
仅通过':'与'mysql'分隔的IP地址: conn = DriverManager.getConnection(“jdbc:mysql:[有效IP地址]/localhost:3306/[有效数据库名称]”, ]“,”[有效密码]“);
SQLSTATE:08001 VendorError:0 java.sql.SQLException中:找到JDBC没有合适的驱动程序:MySQL的:[有效的IP地址] /本地主机:3306/[有效的数据库名称]
IP地址从分离'mysql'by':http://': conn = DriverManager.getConnection(“jdbc:mysql:http://[valid ip address]/localhost:3306/[有效数据库名称]”,“[有效用户名]”,“[有效密码]”);
SQLSTATE:08001 VendorError:0 java.sql.SQLException中:找到JDBC没有合适的驱动程序:MySQL的:http://[valid IP地址] /本地主机:3306/[有效的数据库名称]
IP地址从'分离mysql'by'://': conn = DriverManager.getConnection(“jdbc:mysql:// [有效IP地址]/localhost:3306/[有效数据库名称]”,“[有效用户名]”,“[有效密码]”);
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障 成功发送到服务器的最后一个数据包是0毫秒前。驱动程序尚未收到来自服务器的任何数据包。 SQLSTATE:08S01 VendorError:0
在后者的情况堆栈跟踪提供“产生的原因:java.net.ConnectException:连接被拒绝:”连接
在所有情况下栈跟踪还指示的代码行设置变量'conn'会抛出异常。
请注意,在程序列表中的方括号内的文本代表混淆代码,并且括号实际上不在程序中。
我的问题是,我是否确实安装了所需的驱动程序,或者连接字符串有问题吗?有没有我还没有想到的其他问题?
代码如下
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的月神服务版本2(4.4.2),建立ID:20150219-0600
JRE系统库:jre1.8.0_45
MySQLConnector库:mysql-connector-java-5.1.36.jar(出现在Referenced Librar Package Explorer中的IES部分)
我还安装使用mysql-connector-java的GPL-5.1.36,JDK-8u45-Windows的x64和硒的Java-2.45.0
我会很高兴根据需要提供更多信息。
连接过程对我来说似乎没问题,但连接URL中有些奇怪的事情。你有
conn = DriverManager.getConnection("jdbc:mysql://[valid ip address]/localhost:3306/[valid database name]","[valid username]","[valid password]");
它有IP地址和localhost:端口。这不是一个有效的URL,哟必须删除或者本地主机或IP地址:
conn = DriverManager.getConnection("jdbc:mysql://[valid ip address]:3306/[valid database name]","[valid username]","[valid password]");
或
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/[valid database name]","[valid username]","[valid password]");
这应该做的伎俩。
我已成功尝试连接到公共站点db4free.net上的数据库的第一个选项。正如它发生的那样,我在受测站点上尝试了它,发现连接字符串问题掩盖了我被安全设置阻止从站点被阻止的事实。第二个问题现已解决,因此请考虑您的回复是我的问题的成功解决方案。非常感谢 –