OracleBulkCopyを使ってC#



五$バージョンから選択*; Oracle.DataAccess.DLLの対応バージョンを取得するために使用されるOracleのバージョンをチェックアウト:最初はによってPL / SQL文を使用するには 
、私は地元のバージョンを使用します。11.2.0.4.0(64)

Oracle.DataAccessを.DLLダウンロード:https://www.oracle.com/database/technologies/odac-downloads.html
ダウンロードDLLディレクトリの後:ODAC112040Xcopy_64bit \ odp.net20 \ odp.net \ binに \ 2.xの\ Oracle.DataAccess。 DLL

(rpm)を次のようにコードがあります。

/// <要約>
///批量插入数据
/// </要約>
/// <PARAM NAME = "テーブル">数据表</ PARAM>
/// <PARAM NAME = "targetTableName">数据库目标表名</ PARAM>
/// <戻る> </戻り>
公共BOOL ExcuteBulkData(データテーブル表、文字列targetTableName)
{
BOOL結果= FALSE;
(OracleConnectionのCONN =新規のOracleConnection(れたconnectionString))を使用して、
{
(バルク・コピーてOracleBulkCopy =新しいてOracleBulkCopy(れたconnectionString、OracleBulkCopyOptions.Defaultが))を使用して、
{
(表= NULL && table.Rows.Count> 0!)なら
、{
bulkCopy.DestinationTableName = targetTableName。
(int型のために、私は= 0; I <table.Columns.Count。


bulkCopy.ColumnMappings.Add(COL、COL)。
}
conn.Open();
bulkCopy.WriteToServer(表)。
=真の結果;
}
}
}
結果を返します。
}

  追加情報:情報を特定のプロジェクトの最初の起動後にファイルまたはアセンブリ「Oracle.DataAccess、バージョン= 2.112.4.0、カルチャニュートラル、PublicKeyToken = = 89b483f429c47342」またはその依存関係の1つをロードできませんでした。間違ったフォーマットのプログラムをロードしようとしています。

  解決策を見つけるには:変更Visual Studioの起動ソリューションプラットフォーム:ここでは、任意のCPUの代わりにx64の、X64を追加する必要はありません。

 

 

  その後、次のエラーが発生しました:その他の情報を:ORA-1843:ない有効な月は、後でDataTableの時間形式を設定されていないフィールドに対応する、着信プロセスがありました。(データテーブルのフィールド順序と形式内部と同じテーブルを挿入します

おすすめ

転載: www.cnblogs.com/XinruiIIiiiii/p/12107864.html