跳转到内容

Java 编程/数据库编程

来自维基教科书,开放的世界,开放的书籍
导航高级主题:v  d  e )

Java 使用JDBC,这是一个定义客户端如何访问数据库的 API。 首先可以安装其驱动程序。 [1][2]

以下用于打开与 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(); }

此脚本返回数据库大小

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(); }
  }
}
try {
   Class.forName("org.postgresql.Driver");
   Connection conn = DriverManager.getConnection("jdbc:postgresql:MyDatabase", "MyAccount", "MyPassword");
   conn.close();
} catch(SQLException e) { e.printStackTrace(); }

已知错误

[编辑 | 编辑源代码]

包 oracle.jdbc 不存在

[编辑 | 编辑源代码]

如果您在您的 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

ORA-28009:以 SYS 身份连接应以 SYSDBA 或 SYSOPER 身份连接

[编辑 | 编辑源代码]

只需在您的 Oracle 帐户名后添加 " as sysdba",例如

Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:MyDatabase", "MyAccount as sysdba",

参考资料

[编辑 | 编辑源代码]
华夏公益教科书