无法连接到我的SQL数据库
所以我在使用Java连接MySQL时遇到了问题。 inheritance我的代码:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBAccess { private String Host; private String User; private String Password; public DBAccess() throws ClassNotFoundException, SQLException{ Class.forName("com.mysql.jdbc.Driver"); Password = "password"; Host = "jdbc:mysql://localhost/worlddb"; User = "root"; @SuppressWarnings("unused") Connection connect = DriverManager.getConnection(Host,User,Password); System.out.println("Connected!"); } public void RetreiveData(){ } public void ChangeData(){ } }
我得到的错误是线程“主”中的exception
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'worlddb'
http://postimg.org/image/593stjvjx/在mySQL工作台中,我的连接名称是“worlddb”主机名是Liquidus(这是localhost)
- socket是MySQL
- 港口:3306
为什么是这样?
连接名称和数据库名称之间存在差异,请从图片中的模式尝试world , test或sakila 。
试试这个对你有希望:
Connection con = null; Class.forName("com.mysql.jdbc.Driver"); con =DriverManager.getConnection("jdbc:mysql://localhost/worlddb","root","password");
确保您在Host = "jdbc:mysql://localhost/worlddb";
提到的数据库Host = "jdbc:mysql://localhost/worlddb";
即worlddb是否正确。 这里的数据库名称是CASE SENSITIVE! 因此,如果您尝试使用像“ test2 ”而不是“ Test2 ”这样的数据库名称进行连接,那么您将获得
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'test2'
也尝试使用端口号
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/worlddb", "root", "password");
connection = DriverManager.getConnection("jdbc:mysql://localhost/worlddb?" +"user=root&password=password");
试试这个,我有一个连接到mysql数据库与相同的连接,你只是添加?
在db的名称之后。
在上面的代码中,缺少端口号。
connection = connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/worlddb","root", "password");
mysql的默认端口号是3306
您确定数据库服务器不区分大小写吗? 我的意思是也许在DB服务器上,DB名称是WorldDb,并且您正在尝试使用worlddb(所有低级别)连接到它。尝试使用相同的名称或将MySQL配置为不区分大小写
写
"jdbc:mysql://localhost:3306/worlddb"
代替
"jdbc:mysql://localhost/worlddb"
Charaf jra是对的我有同样的问题。
您的架构(架构=数据库)列为Host =“jdbc:mysql:// localhost / worlddb”; 如果您查看图片中的模式,请发布https://postimg.cc/image/593stjvjx/
架构(数据库)是世界的 。
注意不要有空格并使用jdbc:mysql://localhost:3306/dbname