Java 将oracle表数据导出为sql插入字符串

Java 将oracle表数据导出为sql插入字符串,java,oracle,jdbc,Java,Oracle,Jdbc,这是我弗朗西斯科写的第一个问题,但现在我有一个帐户。我会尽力解释的。对于作业,我需要一个包含Oracle表中SQl字符串插入的.txt文件。我不能使用像toad这样的软件,因为我需要使用Java代码。我没有试图获取插入的日志记录,我需要一个从表中导出它。客户要求它,这是至关重要的。你说通常的方法是使用数据泵实用程序,但是使用这个工具,我会得到一个文本文件吗?我读到数据泵使用二进制文件。使用JavaJDBC和元数据,我需要转换字符串文件中的所有内容,对此我同意,但我必须编写大量代码才能知道我从表中

这是我弗朗西斯科写的第一个问题,但现在我有一个帐户。我会尽力解释的。对于作业,我需要一个包含Oracle表中SQl字符串插入的.txt文件。我不能使用像toad这样的软件,因为我需要使用Java代码。我没有试图获取插入的日志记录,我需要一个从表中导出它。客户要求它,这是至关重要的。你说通常的方法是使用数据泵实用程序,但是使用这个工具,我会得到一个文本文件吗?我读到数据泵使用二进制文件。使用JavaJDBC和元数据,我需要转换字符串文件中的所有内容,对此我同意,但我必须编写大量代码才能知道我从表中得到什么类型来解析它。例如,对于日期类型,oracle软件将其解析为_Date('0005-11-21','DD/MM/RR'),java ToToToStrig将执行类似于'2009-1-25 13:00:00'的操作。Java toString方法将截断某些数字类型,因此我需要知道是否有人这样做或是否可以帮助我

我是这个页面的新手,有人能编辑第一个问题吗?或者,如果我和一个未注册的用户一起做的话,我如何更新它


多谢各位。Francisco

去年,我们必须做一些事情,从文件读取和写入数据库(Ingres、Derby和HSQL)记录。
其基本思想是让一个类实现一个方法,该方法返回一个根据数据的SQL类型格式化的字符串。
有点像:

import static java.sql.Types.*;
...
private static final String DATE_FORMAT = "yyyy-MM-dd";

public static String formatDate(Date date) {        
    DateFormat format = new SimpleDateFormat(DATE_FORMAT);
    return format.format(date);
}
...
@Override
public String format(int type, Object value) throws SQLException {
    switch (type) {
        case INTEGER:
        case REAL:
        case DOUBLE:
        case SMALLINT:
            return value.toString(); 
        case CHAR:
        case LONGVARCHAR:
        case VARCHAR:
            return (String) value;
        case DATE:
            return formatDate((Date) value);
        case TIME:
            return formatTime((Time) value);
        case TIMESTAMP:
            return formatTimestamp((Timestamp) value);

        // TODO missing some types here

        default:
            throw new SQLException("unhandled type " + getTypeName(type));
    }
}

对不起,我不允许发布真实代码,去年我们必须做一些事情,从文件读取和写入数据库(Ingres、Derby和HSQL)记录。
其基本思想是让一个类实现一个方法,该方法返回一个根据数据的SQL类型格式化的字符串。
有点像:

import static java.sql.Types.*;
...
private static final String DATE_FORMAT = "yyyy-MM-dd";

public static String formatDate(Date date) {        
    DateFormat format = new SimpleDateFormat(DATE_FORMAT);
    return format.format(date);
}
...
@Override
public String format(int type, Object value) throws SQLException {
    switch (type) {
        case INTEGER:
        case REAL:
        case DOUBLE:
        case SMALLINT:
            return value.toString(); 
        case CHAR:
        case LONGVARCHAR:
        case VARCHAR:
            return (String) value;
        case DATE:
            return formatDate((Date) value);
        case TIME:
            return formatTime((Time) value);
        case TIMESTAMP:
            return formatTimestamp((Timestamp) value);

        // TODO missing some types here

        default:
            throw new SQLException("unhandled type " + getTypeName(type));
    }
}

抱歉,我不允许发布“第一个问题”的真实代码链接:““第一个问题”的链接:?非常感谢Carlos,我正在研究Oracle的EXP和IMP命令,我正在尝试将导出的Oracle转储文件转换为.sql文件,从Java调用脚本。这很简单,但目前我还没有结果,如果幸运的话,我会把它贴出来。我知道最后我可能不得不写Java代码,我会需要你的帮助。thks twiceThank非常感谢Carlos,我正在研究Oracle的EXP和IMP命令,我正在尝试将导出的Oracle转储文件转换为从Java调用脚本的.sql文件。这只是一个简单的想法,但目前我还没有结果,如果幸运的话,我会把它贴出来。我知道最后我可能不得不写Java代码,我会需要你的帮助。两次