0

谁能解释我如何将 Java 与 MySQL 连接起来?

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
Connection conn = null;
...
try {
    conn =
       DriverManager.getConnection("jdbc:mysql://localhost/test?" +
                                   "user=monty&password=greatsqldb");

     } 
catch (SQLException ex) 
    {

       System.out.println("SQLException: " + ex.getMessage());
       System.out.println("SQLState: " + ex.getSQLState());
       System.out.println("VendorError: " + ex.getErrorCode());
    }

这就是我的做法,但我的是 Windows 身份验证而不是密码身份验证。那么如何完成与windows认证的连接呢?

4

4 回答 4

1

首先加载驱动类

Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost/test","monty","greatsqldb");

然后创建连接。

于 2013-10-02T09:24:55.660 回答
1

您没有加载驱动程序类。

尝试这个 -

Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/test?" + "user=monty&password=greatsqldb");

PS 我假设你正在使用MySQL.

于 2013-10-02T09:21:38.060 回答
0

尝试这个 :

Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/test","monty","greatsqldb");

您可以单独指定username和。password

仅供参考:没有必要使用 Class.forName() 方法加载驱动程序,但为了安全起见,编码人员使用此方法加载驱动程序。

这个。上面写着Applications no longer need to explictly load JDBC drivers using Class.forName().

于 2013-10-02T09:23:34.047 回答
0

我猜你使用的是 Windows 的 MySQL 外部身份验证(http://www.mysql.com/products/enterprise/security.html)。

这在连接器/网络驱动程序 (.NET) 中得到支持,使用“Integrated Security=yes”作为连接字符串选项:http ://dev.mysql.com/doc/refman/5.5/en/connector-net-programming-authentication -windows-native.html

我在 Connector/J 参考 (Java) 中找不到任何有关对此支持的文档。我猜Java驱动程序不支持它。

于 2013-10-02T09:43:43.320 回答