2012-09-15 65 views
1

我有一个问题,我的客户之一需要如何存储Oracle数据库,并将其转换到MSACCESS/EXCEL

一个程序,连接到Oracle数据库服务器和下载/存储表到本地文件(例如,的Microsoft Access)这样的客户端后,转换 可以输入一个Excel文件,它会被添加到本地文件

我的客户想要的本地文件/数据库可以存储下线,内部程序文件夹 他们想要的程序做所有的工作,所以他们只给我一个用户&传递到他们的数据库与一些例子的表和Excel将从客户端输入

和程序将做其余的下载表格,转换,输入,最后将打印数据

我知道有很多的教程来的想法连接与Java /更新甲骨文(与OLDBC-JDBC)或开放&修改MSACCESS文件(Excel的转换)

,但要结合他们所有?你怎么能在java中做到这一点?

我已经看到有人这样做,但在VB6 和他的代码是有点乱

FYI: 的数据是BIG之一,其使用约600.000行 并在每周更新月

回答

0

如果想要的输出是MS Access,您可能想要探索的方法是Jackcess。其中一个他们给自己的网页上的例子是复制外部表到MS访问,这是所有的代码,你似乎需要:

Database.open(new File("my.mdb")).copyTable("Imported", resultSet); 

我没有与该库的第一手经验,但它看起来相当不错。

对于Excel输出我同意克里斯,POi是要走的路。但是,还有一个名为jXLS的库,它是POI之上的一个图层,它简化了格式化XLS表格的创建过程,检查出this sample将JDBC结果集(您查询Oracle的结果)转换为漂亮的Excel文件。

编辑:基于对克里斯的回答您的意见,如果确实你得到的是分贝坐标以及用户和传球,你必须:

第1步:使用DatabaseMetaData拿到表名,示意图像这样:

Connection c = DriverManager.getConnection (...); 
DatabaseMetaData md = c.getMetaData(); 
ResultSet rs = md.getTables(null, null, "%", null); 
while (rs.next()) { 
    System.out.println(rs.getString(3)); 
} 

步骤2:遍历获得表的列表,并执行表副本如上图

+0

omg,我真的绝望了一分钟前, 但像我的问题到克里斯,你怎么能下载oracle表,直接进入excel(.xls)文件? 谢谢 – Adamanusia

+0

@ user115343我现在很困惑,你想要MDB或XLS或两者兼而有之吗?并检查我的编辑,现在它还显示如何提取数据库元数据以获取表的列表 - 您不希望硬编码要复制到您的程序中的表的列表。 – fvu

+0

所以它就像我执行从Oracle到Java数据源的表副本,它会转换为Excel? 仅供参考的数据是大的,它的大约一千 和VB6的家伙,我上面提到 不能在这一个 对不起我迟到的答复,其通过慢速连接 造成我只需要1个文件,无论是MDB或XLS 只要它可以存储数据 – Adamanusia

1

如果只需要数据,那么为什么不把它下载为excel,使用Apache POI就可以很容易地进行渲染?即使excel可以作为数据源(只是不是MS-Access)。您的要求只是将其转换为MS-Access?请添加有关您的问题陈述的更多信息。

+0

客户想要的程序做的所有工作 他们只给我一个用户传递到他们的数据库 和程序将完成其余的 下载表格,转换,输入,最后它将打印数据 – Adamanusia

+0

@ user115343那么我的意思是,“客户端”是否希望它只作为MS-Access?或者Excel也可以接受? – Chris

+0

接受 之类的标题说 他们只希望,不管它是什么(文件) 它可以修改的,并且可以从其他人(VB6) – Adamanusia

相关问题