Java 编程/数据库编程
外观
< Java 编程
导航高级主题: ) |
Java 使用JDBC,这是一个定义客户端如何访问数据库的 API。 首先可以安装其驱动程序。 [1][2]
连接到Microsoft Access数据库
[编辑 | 编辑源代码]以下用于打开与 Access 数据库的ODBC 连接。 请注意,用户名(以及密码,如果适用)是在 DSN 中给出,而不是在 getConnection
调用中。 由于需要 Microsoft Access 驱动程序,这是一个仅限 MS Windows 的示例。
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String path = "C:/example.mdb";
String dsn = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + path + ";UID=admin";
accessConn = DriverManager.getConnection(dsn, "", "");
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1/MySite?user=MyAccount&password=MyPassword");
conn.close();
} catch(SQLException e) { e.printStackTrace(); }
连接到Oracle 数据库
[编辑 | 编辑源代码]此脚本返回数据库大小
import java.sql.*;
import java.io.*;
import oracle.jdbc.*;
import oracle.sql.*;
public class OracleDatabase {
public static void main(String[] args) {
try {
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:MyDatabase", "MyAccount", "MyPassword");
conn.setAutoCommit(true);
String sql = "SELECT sum(bytes) from dba_segments;";
Statement stmt = conn.createStatement();
stmt.execute(sql);
stmt.close();
conn.close();
} catch(SQLException e) { e.printStackTrace(); }
}
}
连接到PostgreSQL
[编辑 | 编辑源代码]try {
Class.forName("org.postgresql.Driver");
Connection conn = DriverManager.getConnection("jdbc:postgresql:MyDatabase", "MyAccount", "MyPassword");
conn.close();
} catch(SQLException e) { e.printStackTrace(); }
如果您在您的 PC 上有 Oracle 数据库,只需将以下文件添加到类路径中[3]
- C:\oracle12\app\oracle\product\12.1.0\dbhome_1\jdbc\lib\ojdbc7.jar
- C:\oracle12\app\oracle\product\12.1.0\dbhome_1\sqlj\lib\runtime12.jar
否则,ojdbc7.jar 可以从http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html下载,并将其添加到编译中。 例如
javac MyClass.java -classpath ojdbc7.jar
只需在您的 Oracle 帐户名后添加 " as sysdba",例如
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:MyDatabase", "MyAccount as sysdba",