и получаем
org.apache.commons.dbcp.PoolableConnection
CLOB.CreateTemporary(con,....) — exception
А CLOB.CreateTemporary(....) требует OracleConnection
Как получить его
Re[3]: TOMCAT 5 JNDI CLOB.CreateTemporary
От:
Аноним
Дата:
17.05.07 08:44
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, MAPCUAHUH, Вы писали:
А>и получаем А>org.apache.commons.dbcp.PoolableConnection А>А CLOB.CreateTemporary(....) требует OracleConnection А>Как получить его
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, MAPCUAHUH, Вы писали:
А>InitialContext ctx=new InitialContext();
А>DataSource ds=(DataSource) ctx.lookup("OracleDataSourceJNDIName"); А>Connection con=ds.getConnection()
А>и получаем А>org.apache.commons.dbcp.PoolableConnection
У org.apache.commons.dbcp.PoolableConnection есть метод getDelegate(). Вполне возможно, что это и будет искомым OracleConnection'ом. Однако, мне кажется, что лучше сменить имплементацию connection pool'а, либо на OracleConnectionCacheImpl, либо на ту, которая не просто враппит javax.sql.DataSource, а использует javax.sql.ConnectionPoolDataSource (в случае с Oracle использоваться в качестве ConnectionPoolDataSource скорее всего должен oracle.jdbc.pool.ConnectionPoolDataSource). В этом случае более вероятно, что полученный Connection будет тот родной connection JDBC driver'а со всеми его специфическими фичами.
Кстати, следует, наверное отметить, что получать connection из datasource'а только для того, чтобы создать temporary lob, скорее всего неправильно. Этот же самый connection (которым создавался lob) должен по идее использоваться для того, чтобы встатвить этот lob в таблицу и выполнения других statement'ов.
Кстати, следует, наверное отметить, что получать connection из datasource'а только для того, чтобы создать temporary lob, скорее всего неправильно. Этот же самый connection (которым создавался lob) должен по идее использоваться для того, чтобы встатвить этот lob в таблицу и выполнения других statement'ов.
Мне надо передать LOB(CLOB,BLOB) В ORACLE процедуру
Как?
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, dshe, Вы писали:
А>Кстати, следует, наверное отметить, что получать connection из datasource'а только для того, чтобы создать temporary lob, скорее всего неправильно. Этот же самый connection (которым создавался lob) должен по идее использоваться для того, чтобы встатвить этот lob в таблицу и выполнения других statement'ов.
А>Мне надо передать LOB(CLOB,BLOB) В ORACLE процедуру А>Как?
Ну так возьми connection из пула и создай его вызовом процедуры:
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, aka50, Вы писали:
А>дело не в этом.
А>Clob clob =callstm.getClob(1) А>проходит
А>(CLOB)Clob не срабатывает
А к стати зачем он тебе? Мне обычно хватает Clob/Blob для работы с блобами.
А в процедуру ИМХО проще обернуть это еще одной процедурой call MYPROC(EMPTY_BLOB(),...)
Re[12]: TOMCAT 5 JNDI CLOB.CreateTemporary
От:
Аноним
Дата:
17.05.07 11:44
Оценка:
Здравствуйте, aka50, Вы писали:
А к стати зачем он тебе? Мне обычно хватает Clob/Blob для работы с блобами.