2

私は英語がうまくない

そして私の英語は文法が間違っています

理解を願う

OJDBC6 で ARRAY CLASS を使用しています。

それ(ARRAYクラス)を使用して、データをOracleデータベースに送信します(手順)。

数値型と日付型のデータは、オラクルで非常によく使用されます。

ただし、varchar2 型のデータは oracle (ARRAY) では null です

別のソリューション (Java パス設定 orai18n.jar ファイル) が表示されますが、java.lang.NoSuchMethodError: oracle.i18n.text.converter.CharacterConverterOGS.getInstance(I)Loracle/i18n/text/converter/CharacterConverter; のエラーがあります。

この問題の解決策が見つかりません

この問題を解決する方法をお願いします ~~ ~~

私はJDK1.7、OJDBC6.jarを使用しています

---------------------------------------------- orclae コード -- -------------------------------- タイプXXXXXXXX_TYPEをオブジェクトとして作成または置換(

 nnnnnnn1                NUMBER
,nnnnnnn2                NUMBER
,nnnnnnn3                NUMBER
,vvvvvvv1                VARCHAR2(150)
,nnnnnnn4                NUMBER
,dddddddd1               DATE
,vvvvvvv2                VARCHAR2(250)
,nnnnnnn5                NUMBER
,dddddddd2               DATE
,nnnnnnn6                NUMBER
,dddddddd3               DATE
,nnnnnnn7                NUMBER
,vvvvvvv3               VARCHAR2(10)
,vvvvvvv4               VARCHAR2(30)
,vvvvvvv5               VARCHAR2(20)
,vvvvvvv6               VARCHAR2(80)

--XXXXXXXX_TYPE終了

タイプ XXXXXXXXXXX_TBL を XXXXXXXX_TYPE のテーブルとして作成または置換

-- XXXXXXXXXXXX_TBL終了

----------------------------------------------java--------------------- ---------------------------

public class Ex_mainJava {

public static void main(String[] args){

    DBPoolCon db = DBPoolCon.getInstance();

    String str = "{call xxx_xxx_xxxx_xxxx_result_pkg.XX_XX_result(?,?,?)}";
try {
    Connection oracleConn   = (OracleConnection) db.buildPoolConnection();
    CallableStatement callStatement = oracleConn.prepareCall(str);

    Object[][] x_ctr_tbl =  new Object[1][16]; 


        x_ctr_tbl[0][0] = 1;   
        x_ctr_tbl[0][1] = 2;
        x_ctr_tbl[0][2] = 3;
        x_ctr_tbl[0][3] = "ABC";
        x_ctr_tbl[0][4] = 4;
        x_ctr_tbl[0][5] = java.sql.Date.valueOf("2014-06-18");
        x_ctr_tbl[0][6] = "DEF";
        x_ctr_tbl[0][7] = 5;
        x_ctr_tbl[0][8] = java.sql.Date.valueOf("2014-06-18");
        x_ctr_tbl[0][9] = 6;
        x_ctr_tbl[0][10] = java.sql.Date.valueOf("2014-06-18");
        x_ctr_tbl[0][11] = 7;
        x_ctr_tbl[0][12] = "HHHH";
        x_ctr_tbl[0][13] = "KKKK";
        x_ctr_tbl[0][14] = "JJJJ";
        x_ctr_tbl[0][15] = "MMMM";



    ArrayDescriptor oracleCollection2 = ArrayDescriptor.createDescriptor("XXXXXXXXXXX_TBL ".toUpperCase(),oracleConn);


    ARRAY oraArry2 =  new ARRAY(oracleCollection2, oracleConn,x_ctr_tbl);
            System.out.println(oraArry2.dump());

    callStatement.registerOutParameter(1, java.sql.Types.VARCHAR);
    callStatement.registerOutParameter(2, java.sql.Types.INTEGER);
    callStatement.setArray(3,oraArry2);
    callStatement.execute();

    String s =callStatement.getString(1);
    int i = callStatement.getInt(2);

        System.out.println("error:"+s);
        System.out.println("code:"+i);

    callStatement.close();






} catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

}

}

- - - - -コンソール - - - - - - - - - - - - - - - - - -

  System.out.println(oraArry2.dump());    
 nnnnnnn1                1
,nnnnnnn2                2
,nnnnnnn3                3
vvvvvvv1                ??? <---problem
nnnnnnn4                4 
dddddddd1               2014-06-18 00:00:00.0
vvvvvvv2                ??? <---problem
nnnnnnn5                5
dddddddd2               2014-06-18 00:00:00.0
nnnnnnn6                6
 dddddddd3               2014-06-18 00:00:00.0
 nnnnnnn7                7
 vvvvvvv3                ???  <---problem
 vvvvvvv4                ???  <---problem
 vvvvvvv5                ???  <---problem
 vvvvvvv6                ???  <---problem

サンプルコードソース

???の問題を解決してください (問題)

ありがとうございました。あなたは私の問題について私の情報源を読んでください

4

0 に答える 0