Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FUNCTION PROCESS_FILE_INTERNAL
- (
- i_Filename VARCHAR2,
- i_EventType NUMBER
- )
- RETURN PROCESSEXCELFILEARGS
- OracleCallableStatement cstmt = null;
- try{
- OracleDriver ora = new OracleDriver();
- DriverManager.registerDriver(ora);
- Connection connection = ora.defaultConnection();
- String call = "{ ? = call NEUTRINO_META.PKG_EXCEL.PROCESS_FILE_INTERNAL(?, ?) }";
- cstmt = (OracleCallableStatement)connection.prepareCall(call);
- cstmt.setQueryTimeout(1800);
- cstmt.registerOutParameter(1, OracleTypes.OTHER, "NEUTRINO_META.PROCESSEXCELFILEARGS");
- cstmt.setString(2, filename);
- cstmt.setDouble(3, eventType);
- cstmt.execute();
- OracleObjects.ProcessExcelFileArgsobj = (OracleObjects.ProcessExcelFileArgs)cstmt.getObject(1);
- connection.commit();
- }
- catch (SQLException e){
- WriteEventToDb(e.getMessage());
- }
- finally{
- if (cstmt != null){
- cstmt.close();
- }
- }
- create or replace
- TYPE PROCESSEXCELFILEARGS FORCE AS OBJECT
- (
- FullFilePath VARCHAR2(700),
- Filename VARCHAR2(200),
- Graph TYPEGRAPHDATA
- )
- create type type_dummy is object (
- id int,
- name varchar2(10)
- )
- /
- create or replace function get_type_dummy
- return type_dummy
- is
- begin
- return type_dummy(1,'ABCDe');
- end;
- /
- class TypeDummy {
- public Long id;
- public String name;
- }
- try {
- DriverManager.registerDriver ( new oracle.jdbc.driver.OracleDriver());
- Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@ods.fors.ru:1521:test","odh","odh");
- OracleCallableStatement cstmt = (OracleCallableStatement)conn.prepareCall("{ ? = call get_type_dummy }"); ;
- cstmt.registerOutParameter(1, OracleTypes.JAVA_STRUCT, "TYPE_DUMMY");
- cstmt.execute();
- oracle.sql.STRUCT td = (oracle.sql.STRUCT)cstmt.getObject(1);
- Object[] x = td.getAttributes();
- TypeDummy ntd = new TypeDummy();
- ntd.id = ((BigDecimal)x[0]).longValue();
- ntd.name = (String)x[1];
- System.out.println(ntd.id);
- System.out.println(ntd.name);
- cstmt.close();
- }
- ...
- 1
- ABCDe
- try{
- Map rtn = connection.getTypeMap();
- rtn.put("NEUTRINO_META.PROCESSEXCELFILEARGS", Class.forName("OracleObjects.ProcessExcelFileArgs"));
- String call = "{ ? = call NEUTRINO_META.PKG_EXCEL.PROCESS_FILE_INTERNAL(?, ?) }";
- cstmt = (OracleCallableStatement)connection.prepareCall(call);
- cstmt.setQueryTimeout(1800);
- cstmt.registerOutParameter(1, OracleTypes.STRUCT, "NEUTRINO_META.PROCESSEXCELFILEARGS");
- cstmt.setString(2, filename);
- cstmt.setDouble(3, eventType);
- cstmt.execute();
- ProcessExcelFileArgs args = (ProcessExcelFileArgs)cstmt.getObject(1, rtn);
- }
- catch (SQLException e){
- WriteEventToDb(e.getMessage());
- }
- finally{
- if (cstmt != null){
- cstmt.close();
- }
- }
Add Comment
Please, Sign In to add comment