{"id":6269,"date":"2017-04-26T12:49:00","date_gmt":"2017-04-26T17:49:00","guid":{"rendered":"http:\/\/appcrawler.com\/wordpress\/?p=6269"},"modified":"2017-04-26T12:49:00","modified_gmt":"2017-04-26T17:49:00","slug":"pushing-a-file-to-oracle-database-to-write-to-database-filesystem","status":"publish","type":"post","link":"http:\/\/appcrawler.com\/wordpress\/2017\/04\/26\/pushing-a-file-to-oracle-database-to-write-to-database-filesystem\/","title":{"rendered":"Pushing a file to Oracle database to write to database filesystem"},"content":{"rendered":"<pre>\r\nimport java.sql.*;\r\nimport java.io.*;\r\n\r\npublic class sendFile {\r\n  public static void main (String args[]) throws Exception {\r\n    File file = new File(\"a.txt\");\r\n    FileInputStream fis = new FileInputStream(file);\r\n    byte[] data = new byte[(int)file.length()];\r\n    fis.read(data);\r\n    fis.close();\r\n    String s = new String(data, \"UTF-8\");\r\n    Class.forName(\"oracle.jdbc.driver.OracleDriver\");\r\n    Connection conn = DriverManager.getConnection(\"user\/pwd@dbhost:dbport\/dbservice.domain\");\r\n    String t = \"declare l_file utl_file.file_type utl_file.fopen('FOO','test.txt','w'); begin utl_file.put_line(l,?); end;\";\r\n    CallableStatement cstmt = conn.prepareCall(t);\r\n    cstmt.setString(1,s);\r\n    cstmt.execute();\r\n  }\r\n<\/pre>\n<p>Large strings result in the following&#8230;<\/p>\n<pre>\r\n-bash-4.1$ time java sendFile\r\nException in thread \"main\" java.sql.SQLException: ORA-06502: PL\/SQL: numeric or value error\r\nORA-06512: at line 1\r\n\r\n        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)\r\n        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)\r\n        at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)\r\n        at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)\r\n        at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)\r\n        at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)\r\n        at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:204)\r\n        at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1041)\r\n        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)\r\n        at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)\r\n        at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3685)\r\n        at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4714)\r\n        at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1376)\r\n        at sendFile.main(sendFile.java:16)\r\n\r\nreal    0m32.713s\r\nuser    0m2.076s\r\nsys     0m1.185s\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>import java.sql.*; import java.io.*; public class sendFile { public static void main (String args[]) throws Exception { File file = new File(&#8220;a.txt&#8221;); FileInputStream fis = new FileInputStream(file); byte[] data = new byte[(int)file.length()]; fis.read(data); fis.close(); String s = new String(data, &#8220;UTF-8&#8221;);&hellip;<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"http:\/\/appcrawler.com\/wordpress\/2017\/04\/26\/pushing-a-file-to-oracle-database-to-write-to-database-filesystem\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"footnotes":""},"categories":[19,25,22],"tags":[],"_links":{"self":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/6269"}],"collection":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/comments?post=6269"}],"version-history":[{"count":3,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/6269\/revisions"}],"predecessor-version":[{"id":6273,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/6269\/revisions\/6273"}],"wp:attachment":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/media?parent=6269"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/categories?post=6269"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/tags?post=6269"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}