DapperでORACLEのテーブル定義を抽出する

Dapperを使ってテーブルデータのまるまるコピーバッチを作ってた。
で、コピー元のテーブル定義をコピー先にも反映してよ!!っと言われました。

でも、都合上、DB_LINKが使えない→Create select×

じゃーしょうがないDDL流すか。。。→定義はDB見てね(お約束)

素敵なサイトを発見
http://utsuutsu.blogspot.jp/2010/02/oracle9idbmsmetadatagetddltableindextri.html
DDL取るところまではマルパクリでうまくいきそう。

でもね、この部分、どうやってDapperで流すんだろう。。。

exec DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'SQLTERMINATOR', TRUE  );
exec DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE'      , FALSE );

これで出来た^^

        Dim objSql As New StringBuilder
        With objSql
            .AppendLine("begin")
            .AppendLine("   DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE', false );")
            .AppendLine("end;")
        End With
        'ストアド実行
        objDbConnection.Execute(objSql.ToString, Nothing, CommandType.Text)

        objSql.Length = 0
        With objSql
            .AppendLine("begin")
            .AppendLine("   DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'SQLTERMINATOR', true );")
            .AppendLine("end;")
        End With
        'ストアド実行
        objDbConnection.Execute(objSql.ToString, Nothing, CommandType.Text)

後は↑の素敵サイトのSQLをまるっと実行すればOK
めでたしめでたし