Author |
Message
|
spahrson |
Posted: Fri Feb 18, 2011 2:07 am Post subject: Problems with Broker 7, Oracle 11g and CLOB Datatype... |
|
|
Newbie
Joined: 18 Feb 2011 Posts: 6
|
Hi.
i tried to insert a CLOB in Oracle 11g over
- 1: INSERT Statement
- 2: PASSTROUGH INSERT Statement
- 3: EXTERNAL PROCEDURE / STORED PROCEDURE
- 4: PASSTROUGH STORED PROCEDURE CALL
We use DataDirect v6 ODBC Driver! Standart Oracle connection params...
The following happens for my cases:
- 1 + 2: Exception: [IBM][ODBC Oracle Wire Protocol driver][Oracle]ORA-03146: Invalid buffer length for TTC field
- 3 + 4: No Exceptions. CLOB Param is null/empty!
We updatet from 7.0.0.1 to 7.0.0.2. Under 7.0.0.1 it worked with case 4 and 500KB Messages.
If I change CLOB Type to VARChAR2 it works with smaller messages...
mqsicvp says:
Code: |
databaseProviderVersion = 11.01.0000 Oracle 11.1.0.0.0
driverVersion = 06.00.0214 (B0147, U0063)
driverOdbcVersion = 03.52
driverManagerVersion = 3.52.0000
driverManagerOdbcVersion = 03.52.0000
databaseProviderName = Oracle
datasourceServerName = xxxxxxxxxx
databaseName = N/A
odbcDatasourceName = IMBDB
driverName = UKora24.so
supportsStoredProcedures = Yes
procedureTerm = PL/SQL
accessibleTables = Yes
accessibleProcedures = Yes
identifierQuote = "
specialCharacters = None
describeParameter = Yes
schemaTerm = User Name
tableTerm = Table
sqlSubqueries = 31
activeEnvironments = 0
maxDriverConnections = 0
maxCatalogNameLength = 128
maxColumnNameLength = 30
maxSchemaNameLength = 30
maxStatementLength = 0
maxTableNameLength = 30
supportsDecimalType = Yes
supportsDateType = No
supportsTimeType = No
supportsTimeStampType = Yes
supportsIntervalType = No
supportsAbsFunction = Yes
supportsAcosFunction = No
supportsAsinFunction = No
supportsAtanFunction = No
supportsAtan2Function = No
supportsCeilingFunction = Yes
supportsCosFunction = Yes
supportsCotFunction = No
supportsDegreesFunction = No
supportsExpFunction = Yes
supportsFloorFunction = Yes
supportsLogFunction = Yes
supportsLog10Function = Yes
supportsModFunction = Yes
supportsPiFunction = No
supportsPowerFunction = Yes
supportsRadiansFunction = No
supportsRandFunction = No
supportsRoundFunction = Yes
supportsSignFunction = Yes
supportsSinFunction = Yes
supportsSqrtFunction = Yes
supportsTanFunction = Yes
supportsTruncateFunction = Yes
supportsConcatFunction = Yes
supportsInsertFunction = Yes
supportsLcaseFunction = Yes
supportsLeftFunction = Yes
supportsLengthFunction = Yes
supportsLTrimFunction = Yes
supportsPositionFunction = No
supportsRepeatFunction = Yes
supportsReplaceFunction = Yes
supportsRightFunction = Yes
supportsRTrimFunction = Yes
supportsSpaceFunction = Yes
supportsSubstringFunction = Yes
supportsUcaseFunction = Yes
supportsExtractFunction = No
supportsCaseExpression = No
supportsCastFunction = No
supportsCoalesceFunction = No
supportsNullIfFunction = No
supportsConvertFunction = Yes
supportsSumFunction = Yes
supportsMaxFunction = Yes
supportsMinFunction = Yes
supportsCountFunction = Yes
supportsBetweenPredicate = Yes
supportsExistsPredicate = Yes
supportsInPredicate = Yes
supportsLikePredicate = Yes
supportsNullPredicate = Yes
supportsNotNullPredicate = Yes
supportsLikeEscapeClause = Yes
supportsClobType = No
supportsBlobType = No
charDatatypeName = CHAR
varCharDatatypeName = VARCHAR2
longVarCharDatatypeName = CLOB
clobDatatypeName = N/A
timeStampDatatypeName = TIMESTAMP
binaryDatatypeName = RAW
varBinaryDatatypeName = RAW
longVarBinaryDatatypeName = BLOB
blobDatatypeName = N/A
intDatatypeName = NUMBER
doubleDatatypeName = BINARY_DOUBLE
varCharMaxLength = 4000
longVarCharMaxLength = 2147483647
clobMaxLength = 0
varBinaryMaxLength = 2000
longVarBinaryMaxLength = 2147483647
blobMaxLength = 0
timeStampMaxLength = 29
identifierCase = Upper
escapeCharacter = \
longVarCharDatatype = -1
clobDatatype = 0
longVarBinaryDatatype = -4
blobDatatype = 0
BIP8273I: The following datatypes and functions are not natively supported by da tasource 'IMBDB' using this ODBC driver: Unsupported datatypes: 'DATE, TIME, INT ERVAL, CLOB, BLOB' Unsupported functions: 'ACOS, ASIN, ATAN, ATAN2, COT, DEGREES , PI, RADIANS, RAND, POSITION, EXTRACT, CASE, CAST, COALESCE, NULLIF'
Examine the specific datatypes and functions not supported natively by this data source using this ODBC driver.
When using these datatypes and functions within ESQL, the associated data proces sing is done within WebSphere Message Broker rather than being processed by the database provider.
|
Some ideas? I don't really understand the mqsicvp results? Are this database or broker settings? |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Feb 18, 2011 2:12 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Did you review the ESQL->ODBC data type mappings?
What ESQL type of data are you trying to put into a CLOB field? |
|
Back to top |
|
 |
spahrson |
Posted: Fri Feb 18, 2011 2:17 am Post subject: |
|
|
Newbie
Joined: 18 Feb 2011 Posts: 6
|
The ESQL data type is CHARACTER.
In InfoCenter I found the following under Supported databases->ODBC support->Notes
Code: |
5:Each broker system requires only the Client SDK; install the Dynamic Server on the system on which you create databases.
Large Objects (LOBs) are not supported.
|
CLOBs are not supported? Why did id work under 7.0.0.1? hap?
So does i have to implement this over JDBC? |
|
Back to top |
|
 |
mgk |
Posted: Fri Feb 18, 2011 3:56 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
The note below, (5) only applies to Informix. CLOBs are supported for Oracle and map to ESQL Character and can be used from ESQL. Please raise a PMR if you are still having problems as this should work. However, please check the "DescribeParam" option is set in the Odbc ini first.
Regards, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
spahrson |
Posted: Thu Feb 24, 2011 12:54 am Post subject: |
|
|
Newbie
Joined: 18 Feb 2011 Posts: 6
|
we'll raise a pmr...  |
|
Back to top |
|
 |
lalitdowlani |
Posted: Sun Jun 26, 2011 12:08 am Post subject: Message Broker Oracle Stored Procedure CLOB issue |
|
|
Novice
Joined: 21 Feb 2011 Posts: 15
|
Hi
I am facing the same issue . Please let me know whether u rasied any PMR and please share the details of same |
|
Back to top |
|
 |
mqjeff |
Posted: Sun Jun 26, 2011 4:10 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Open a PMR yourself. *include a link to this thread* in the PMR text.
Do all of this AFTER completing the necessary mustgather so that you can demonstrate the problem. Presuming you can actually repeat the issue. |
|
Back to top |
|
 |
fwsld |
Posted: Tue Jun 28, 2011 11:53 pm Post subject: |
|
|
Newbie
Joined: 13 Jul 2006 Posts: 5
|
I had this same problem when trying to store full messages in an Oracle database table as BLOB's.
Here is the real problem. If you want to pass any data into a field with a size greater then the default SQL datatype limit, then the ODBC Oracle driver chunks it up under the covers. That is it inserts the maximum amount of data possible, then selects the newly inserted record and appends the maximum amount of data possible. This loop continues until all the data has been updated. Or an error occurs.
To allow this you must grant the user that is performing the insert, select and update privileges for the database table, as well as insert obviously. This is working for me in Broker 7 Fp2 inserting to both BLOB and CLOB fields. |
|
Back to top |
|
 |
gamawmb |
Posted: Thu Sep 18, 2014 9:51 pm Post subject: |
|
|
Newbie
Joined: 29 Jul 2014 Posts: 4
|
Thanks fwsld, same solution is working in Broker 8 Fp 1 connected to Oracle 12c |
|
Back to top |
|
 |
|