package org.n3r.eql.impl; import org.junit.BeforeClass; import org.junit.Test; import org.n3r.eql.Eql; import org.n3r.eql.util.C; import java.util.Map; import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.Assert.assertThat; public class ZhoujunSpOutTruncTest { private static String str; @BeforeClass public static void beforeClass() { str = C.classResourceToString("org/n3r/eql/impl/numbers.txt"); new Eql("jndi").dynamics(str).execute(); } // http://dbasolved.com/2013/06/26/change-varchar2-to-32k-12c-edition/ // 普通JDBC连接存储过程返回varchar2最大4000字符,使用weblogic数据源,则无此限制 // Oracle has made a few changes to the database to allow organizations to reduce the cost of migrating to Oracle 12c. // One of these changes is with the size limits that have been placed on the VARCHAR2, NVARCHAR2 and RAW data types. // In past versions of Oracle database the maximum size for these data types were 4,000 bytes. // In Oracle 12c, these data types can now be increased to 32,767 bytes. @Test public void test() { String sql = "{call $$(#P_HEAD:OUT#,#P_SQL:OUT#,#P_RETCODE:OUT#,#P_RETMSG:OUT#)}"; Map<String, String> map = new Eql("jndi").dynamics("SP_RPT_ANALYSIS_043_1").execute(sql); assertThat(map.get("P_SQL"), equalTo(str)); } }