tam sonucunu almaz Uygulamamdaki Oracle tablo bilgilerini okumaya çalışıyorum. tablo tanımını almak için, Başvurumdaki bu sorguyu çalıştırın: İşte Hazırlık Bildirimi, sql
SELECT DBMS_METADATA.GET_DDL('TABLE', 'CONTRACT_TABLE' ,'SCHEMA_NAME') FROM DUAL
yürütür kod bloğudur sorgusu:
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
String sql = "SELECT DBMS_METADATA.GET_DDL('TABLE', 'CONTRACT_TABLE' ,'SCHEMA_NAME') FROM DUAL";
preparedStatement = connection.prepareStatement(sql);
resultSet = preparedStatement.executeQuery();
if (resultSet.next()) {
Clob clob = resultSet.getClob(1);
String str = clob.getSubString(1, (int)clob.length());
return str;
} else {
throw new DBPlatformException("Object not available [Schema: "
+ schema + "].[Name: " + objectName + "]!");
}
Ben veritabanı üzerinde doğrudan sql çalıştırdığınızda bu sonucu elde :
CREATE TABLE "SCHEMA_NAME"."CONTRACT_TABLE"
( "CONTRACT_ID" NUMBER,
"START_DATE" DATE,
"END_DATE" DATE
)
PARTITION BY HASH ("CONTRACT_ID")
(PARTITION "P01" ,
PARTITION "P02" ,
PARTITION "P03" ,
PARTITION "P04" ,
PARTITION "P05")
0: Başvurumu çalıştırdığınızda
CREATE TABLE "SCHEMA_NAME"."CONTRACT_TABLE"
( "CONTRACT_ID" NUMBER,
"START_DATE" DATE,
"END_DATE" DATE
) PCTFREE 0 PCTUSED 0 INITRANS 1 MAXTRANS 255
COMPRESS FOR QUERY HIGH NOLOGGING
STORAGE(
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "TMP_SPACE"
PARTITION BY HASH ("CONTRACT_ID")
(PARTITION "P01" SEGMENT CREATION DEFERRED
TABLESPACE "TMP_SPACE"
COMPRESS FOR QUERY HIGH ,
PARTITION "P02" SEGMENT CREATION DEFERRED
TABLESPACE "TMP_SPACE"
COMPRESS FOR QUERY HIGH ,
PARTITION "P03" SEGMENT CREATION DEFERRED
TABLESPACE "TMP_SPACE"
COMPRESS FOR QUERY HIGH ,
PARTITION "P04" SEGMENT CREATION DEFERRED
TABLESPACE "TMP_SPACE"
COMPRESS FOR QUERY HIGH ,
PARTITION "P05" SEGMENT CREATION DEFERRED
TABLESPACE "TMP_SPACE"
COMPRESS FOR QUERY HIGH)
PARALLEL 32
, böyle bir sonuç verir
Uygulamamın getirdiği sonuç daha az bilgi içeriyor. Tablonun paralel olup olmadığını bilmem gerek ama benim uygulamam bana bu bilgiyi veremiyor.
Sorgunun sonuçlarının neden farklı olduğunu anlamaya çalışıyorum ve Paralel bilgileri nasıl alabilirim.
JDBC DDL sınırlamaları, belki? – fge
Düzelt Beni yanlış yapmam. JDBC üzerinden doğrudan ddl bilgisi almıyorum. Ddl bilgisini elde etmek için bir sorguyu çalıştırıp sonucu okurum. JDBC DDL sınırlamalarının bu sorunla ilgili bir şey olduğunu düşünmüyorum. – seckinozden