java无法连接数据库问题(急)
import java.sql.*;
public class ConnectDB
{
public static final String DBDRIVER ="org.gjt.mm.mysql.Driver";
public static final String DBname="sa";
public static final String DBpw="dark";
public static final String DBurl1="jdbc:mysql://localhost:3306/websiteuser";
public static final String DBurl2= "jdbc:odbc:sqlodbc";
public static void main(String[] argu)
{
try
{
Class.forName(DBDRIVER);
Connection con = null;
con=DriverManager.getConnection(DBurl1,DBname,DBpw);
System.out.println("You've Connected Database:"+con);
Statement stat=con.createStatement();
数据库更新操作略
stat.close();con.close();catch(){}略
}
数据库使用sql2000配置正确并在本地启动,验证采用混合验证sa用户密码无误,驱动无误,classpath环境变量无误,很令我在意的是配置本地数据源实例后(名为sqlodbc)若使用上述DBurl2进行连接,编译和运行完全可以通过,并可以实现数据库操作。想要说的是使用DBurl1连接编译也能通过,运行则出现如图的错误The last packet sent successfully to the server was 0 milliseconds ago. The driv
er has not received any packets from the server.这句话令我非常在意,似乎是连接上了无法收到服务器的反馈信息?遂关闭防火墙杀毒软件等工具,仍然如此。默认端口没有改过,小弟十分费解,希望大虾帮忙。必有重谢
我也发现这个问题了,但为什么mysql的驱动可以实现sqlserver2000的odbc源连接呢。。 展开
解决办法如下:
首先检查 我的电脑->管理->服务,查看是否启动了MySQL,然后打开 运行->regedit 打开注册表编辑器,检查注册表,路径见下图左下角的路径信息,把ImagePath改成你现在的路径(注意只改双引号内地路径地址)
然后在C:\Windows\System32下找到cmd.exe右键以管理员身份输入mysqld --initialize-insecure自动生成无密码的root用户,同时自动生成一个data文件夹,这时候再进行MySQL的安装,net start mysql,启动服务。
如果服务管理器中没有MySQL,在成功安装MySQL后,使用mysql的时候,在CMD中输入net start mysql,提示服务名无效,查看服务列表也找不到mysql服务。
解决办法:
在C:\Windows\System32下找到cmd.exe以管理员身份运行程序,
切换到MySQL安装目录的bin目录下
运行如下命令(具体试个人安装的MySQL版本及路径)
>cd C:\Program Files\MySQL\MySQL Server 5.6\bin
C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld.exe -install
提示 Service successfully installed.
此时,刷新服务管理器,就可以看到MySQL的服务了,然后回到前面的步骤修改ImagePath路径,然后进入cmd,输入mysqld --initialize-insecure自动生成无密码的root用户,同时自动生成一个data文件夹,这时候再进行MySQL的安装,net start mysql,启动服务。
至于mysql的驱动,可以连接成功mssql2000,是因为驱动程序的实现都差不多,如果不涉及数据库本身的特殊语法,都可以进行CRUD操作的。
public static final String DBDRIVER ="org.gjt.mm.mysql.Driver";
你的连接路径也是mysql的
public static final String DBurl1="jdbc:mysql://localhost:3306/websiteuser";
但你用的却是sql2000数据库
mysql和sql2000是两个不同的数据库,你要用sql2000就要去找sql2000的连接驱动和连接路径的写法