Thanks Hilfy,
I agree that native oracle driver is much better than JDBC, But my Web application uses JDBC drivers to call reports and for that I have to you JDBC drivers.
Response of Crystal Report X using JDBC is quite better than Crystal Report XI, I am using Crystal Report X as a work around but still its awesome.
The following is a query which is run on DB when attempting to connect through JDBC.
It take too much time even on Command Prompt.
SELECT NULL AS table_cat,
DECODE(s.table_owner, NULL, t.owner, s.table_owner)
AS table_schem,
DECODE(s.synonym_name, NULL, t.table_name, s.synonym_name)
AS table_name,
t.column_name AS column_name,
DECODE (t.data_type, 'CHAR', 1, 'VARCHAR2', 12, 'NUMBER', 3,
'LONG', -1, 'DATE', 91, 'RAW', -3, 'LONG RAW', -4,
'BLOB', 2004, 'CLOB', 2005, 'BFILE', -13, 'FLOAT', 6,
'TIMESTAMP(6)', 93, 'TIMESTAMP(6) WITH TIME ZONE', -101,
'TIMESTAMP(6) WITH LOCAL TIME ZONE', -102,
'INTERVAL YEAR(2) TO MONTH', -103,
'INTERVAL DAY(2) TO SECOND(6)', -104,
'BINARY_FLOAT', 100, 'BINARY_DOUBLE', 101,
1111)
AS data_type,
t.data_type AS type_name,
DECODE (t.data_precision, null, t.data_length, t.data_precision)
AS column_size,
0 AS buffer_length,
t.data_scale AS decimal_digits,
10 AS num_prec_radix,
DECODE (t.nullable, 'N', 0, 1) AS nullable,
NULL AS remarks,
t.data_default AS column_def,
0 AS sql_data_type,
0 AS sql_datetime_sub,
t.data_length AS char_octet_length,
t.column_id AS ordinal_position,
DECODE (t.nullable, 'N', 'NO', 'YES') AS is_nullable
FROM all_tab_columns t, all_synonyms s
WHERE (t.owner LIKE :4 ESCAPE '/' OR
(s.owner LIKE :5 ESCAPE '/' AND t.owner = s.table_owner))
AND (t.table_name LIKE :6 ESCAPE '/' OR
s.synonym_name LIKE :7 ESCAPE '/')
AND t.column_name LIKE :8 ESCAPE '/'
AND s.table_name (+) = t.table_name
AND ((DECODE(s.owner, t.owner, 'OK',
'PUBLIC', 'OK',
NULL, 'OK',
'NOT OK') = 'OK') OR
(s.owner LIKE :9 AND t.owner = s.table_owner))
ORDER BY table_schem, table_name, ordinal_position
Regards,
Fahim