此次由於學習上面的事情,接觸到了達夢數據庫,這是第一次用,去年有個關於隱通道的課程設計,其實就已經差很少算了解了點點,相對與國外主流數據庫,Dm7有個很明顯的特色,那就是它的安全級別,國外數據賣給中國的最高等級是C2級,也就是說,根本沒有達到B級,這就意味這更本就沒有強制訪問概念,而達夢能支持到B級,也就支持強制訪問java
下面介紹在linux下面jdbc鏈接達夢數據庫。linux
最新DM7有linux版本,在官網能夠下載,也有安裝方法。sql
java代碼在安裝目錄desktop裏面的manual裏面有,以下:數據庫
package lianjie; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Statement; import javax.imageio.ImageIO; public class BasicApp { // 定義 DM JDBC 驅動串 String jdbcString = "dm.jdbc.driver.DmDriver"; // 定義 DM URL 鏈接串 String urlString = "jdbc:dm://localhost:5236/hive"; // 定義鏈接用戶名 String userName = "SYSDBA"; // 定義鏈接用戶口令 String password = "SYSDBA"; static //定義sql語句 //String sqlString ="create table yujin3(a int,b int,c int);"; String sqlString1="insert into yujin3 values(123,14,1234);"; // 定義鏈接對象 static Connection conn = null; //private static String sqlString1; /* 加載 JDBC 驅動程序 * @throws SQLException 異常 */ public void loadJdbcDriver() throws SQLException { try { System.out.println("Loading JDBC Driver..."); // 加載 JDBC 驅動程序 //DriverManager.registerDriver(new dm.jdbc.driver.DmDriver()); Class.forName(jdbcString); } catch (ClassNotFoundException e) { throw new SQLException("Load JDBC Driver Error1: " + e.getMessage()); } catch (Exception ex) { throw new SQLException("Load JDBC Driver Error : " + ex.getMessage()); } } public void connect() throws SQLException { try { System.out.println("Connecting to DM Server..."); // 鏈接 DM 數據庫 conn = DriverManager.getConnection(urlString, userName, password); } catch (SQLException e) { throw new SQLException("Connect to DM Server Error : " + e.getMessage()); } } /* 關閉鏈接 * @throws SQLException 異常 */ public void disConnect() throws SQLException { try { // 關閉鏈接 conn.close(); System.out.println("close"); } catch (SQLException e) { throw new SQLException("close connection error : " + e.getMessage()); } } public static void main(String args[]) { try { BasicApp basicApp = new BasicApp(); // 加載驅動程序 basicApp.loadJdbcDriver(); basicApp.connect(); PreparedStatement pstmt1 = conn.prepareStatement(sqlString1); //pstmt1.setInt(1,11); //pstmt1.setInt(2, 12); //pstmt1.setInt(3, 123); pstmt1.execute(); // 關閉語句 pstmt1.close(); System.out.println("OK!"); basicApp.disConnect(); } catch (SQLException e) { System.out.println(e.getMessage()); } } }
注意在鏈接以前要保證Dmserver已經啓動。安全
至於網上說的要配置classpath,我剛開始值配置了classpath並無導入jdbc驅動包,不行,而後導入就可一了,本身以爲在導入包以後應該不用配置了
學習