|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net并驾齐驱的
经由过程Java静态创立ODBC数据源来会见DBF文件,必要用到registry,来修正注册表。
实在,次要是静态创立ODBC数据源,入手下手很复杂,能够手工设置一次数据源,固然也能够经由过程程序间接天生,成绩都不年夜。上面只说如何修正。
importcom.ice.jni.registry.RegStringValue;
importcom.ice.jni.registry.Registry;
importcom.ice.jni.registry.RegistryKey;
publicclassTestC{
publicstaticvoidmain(String[]str){
try{
RegistryKeychild=Registry.HKEY_CURRENT_USER
.openSubKey("Software").openSubKey("ODBC").openSubKey("ODBC.INI").
openSubKey("data_0930",RegistryKey.ACCESS_ALL);
//操纵权限是经由过程RegistryKey来猎取的。
Stringde="F:commony estdata 70901";
//我的DBF数据的目次
//个中,data_0930是我第一次设置的数据源的一个注册表的称号
System.out.println(child.getStringValue("SourceDB"));
child.setValue(newRegStringValue(child,"SourceDB",de));
System.out.println(child.getFullName());
}catch(Exceptione){
e.printStackTrace();
}
}
}
然后就是经由过程,sun.jdbc.odbc.JdbcOdbcDriver来猎取数据,
importjava.sql.DriverManager;
importjava.sql.*;
publicclassTestOdbc{
publicTestOdbc(){}
publicstaticvoidmain(String[]args){
java.sql.Connectionconn=null;
java.sql.PreparedStatementpt=null;
java.sql.ResultSetrs=null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundExceptionex1){
}
try{
conn=DriverManager.getConnection("jdbc:odbc:data_0930","","");
pt=conn.prepareStatement("select*fromtest_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(SQLExceptionex){}
}
}
实在,文件名,是能够静态猎取的,一样平常能够经由过程java中的File类来猎取:
importjava.io.File;
publicclassTestD{
publicstaticvoidmain(String[]args){
Filefile=newFile("F:commony estdata");
File[]df=file.listFiles();
for(intk=0;k<df.length;k++){
if(df[k].isDirectory()){
//由于文件夹中包括DBF文件,以是判别是文件夹,而不是文件
System.out.println("===kkkk=="+k+"====="+df[k].getName());
}
}
}
}
第一种就是如许,必要注重的是registry的利用,实在很复杂的,只需把DLL文件放到classpath下就能够了。
第二种实在更复杂,就是经由过程另外一个开元的类包jdbf.jar,利用办法也很复杂,网上有良多材料,能够查询。也就未几说了。
令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。 |
|