国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

使用Java動態創建ODBC數據源

2019-11-17 05:53:50
字體:
來源:轉載
供稿:網友

  通過java動態創建ODBC數據源來訪問DBF文件,需要用到registry,來修改注冊表

  其實,主要是動態創建ODBC數據源,開始很簡單,可以手工設置一次數據源,當然也可以通過程序直接生成,問題都不大。下面只說怎樣修改。

import com.ice.jni.registry.RegStringValue;
import com.ice.jni.registry.Registry;
import com.ice.jni.registry.RegistryKey;
public class TestC {
 public static void main(String[] str) {
  try {
   RegistryKey child = Registry.HKEY_CURRENT_USER
.openSubKey("Software").openSubKey("ODBC").openSubKey("ODBC.INI").
   openSubKey("data_0930",RegistryKey.access_ALL);//操作權限是通過RegistryKey來獲取的。
   String de = "F://commony//test//data//070901"; //我的DBF數據的目錄
//其中,data_0930是我第一次設置的數據源的一個注冊表的名稱
   System.out.   child.setValue(new RegStringValue(child,"SourceDB",de));
   System.out.println(child.getFullName());
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
}

  然后就是通過,sun.jdbc.odbc.JdbcOdbcDriver來獲取數據,

import java.sql.DriverManager;
import java.sql.*;
public class TestOdbc {
 public TestOdbc() {}
 public static void main(String[] args) {
  java.sql.Connection conn = null;
  java.sql.PreparedStatement pt = null;
  java.sql.ResultSet rs = null;
  try {
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  }
  catch (ClassNotFoundException ex1) {
  }
  try {
   conn = DriverManager.getConnection("jdbc:odbc:data_0930", "", "");
   pt = conn.prepareStatement(" select * from test_table");
   rs = pt.executeQuery();
   while(rs.next()){
    System.out.println("==="+rs.getString(1));
    System.out.println("==="+rs.getString(2));
    System.out.println("==="+rs.getString(3));
    System.out.println("==="+rs.getString(4));
    System.out.println("==="+rs.getString(5));
   }
  }
  catch (SQLException ex) {}
 }
}

  其實真的很簡單。

  其實,文件名,是可以動態獲取的,一般可以通過java中的File類來獲取:

import java.io.File;
public class TestD {
 public static void main(String[] args){
  File file = new File("F://commony//test//data");
  File[] df = file.listFiles();
  for(int k =0;k<df.length;k++){
   if(df[k].isDirectory()){ //因為文件夾中包含DBF文件,所以判定是文件夾,而不是文件
    System.out.println("===kkkk=="+k+"====="+df[k].getName());
   }
  }
 }
}

  第一種就是這樣,需要注重的是registry的使用,其實很簡單的,只要把DLL文件放到classpath下就可以了。

  第二種其實更簡單,就是通過另一個開元的類包jdbf.jar,使用方法也很簡單,網上有很多資料,可以查詢。也就不多說了。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 横峰县| 武隆县| 竹溪县| 福建省| 德保县| 巴彦淖尔市| 潞城市| 庆云县| 乐山市| 女性| 辽中县| 信丰县| 手机| 伊金霍洛旗| 内黄县| 藁城市| 防城港市| 弥勒县| 鹤山市| 从化市| 舒城县| 阿瓦提县| 周至县| 油尖旺区| 开平市| 尖扎县| 台北市| 鄯善县| 宣城市| 灵石县| 和林格尔县| 濉溪县| 日照市| 德安县| 无锡市| 博湖县| 禹州市| 伊吾县| 清镇市| 原平市| 元朗区|