*.xlsx
ファイルからデータベースにデータをロードするには、SQLのバルクコピーを使用します。しかし、ファイルサイズが約1MBを超えると、私はこの問題に直面しました。私はOleDbConnection
を開こうとすると、私はエラー〜1MBを超えるサイズのOleDbでxlsxファイルを読み取ることができません
No error message available, result code: E_FAIL(0x80004005)
を取得誰もがそのような行動についての考えを持っていますか?
P.S.ファイルサイズが上記よりも小さい場合、すべてが期待通りに機能します。
string connString = connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0 Xml;";
// Create the connection object
OleDbConnection oledbConn = new OleDbConnection(connString);
// Open connection
oledbConn.Open();
// Create OleDbCommand object and select data from worksheet
OleDbCommand cmd = new OleDbCommand("SELECT * FROM [" + WorkSheetName + "$" + DataRange + "]", oledbConn);
OleDbDataReader dr = cmd.ExecuteReader();
string ProfDbBulkCopyConnString = ConfigurationManager.ConnectionStrings["DbBulkCopyConnString"].ToString();
SqlBulkCopy sb = new SqlBulkCopy(ProfDbBulkCopyConnString);
sb.ColumnMappings.Add("Status", "ActionStatus");
sb.ColumnMappings.Add("Process", "ProcessExec");
sb.DestinationTableName = "dba.Execute";
sb.WriteToServer(dr);
あなたがこれを行うために使用するソースコードが役立つかもしれません...そして、あなたの次の質問をする前に[ask]を読んでください。 –
@Chomelここにあります。うまくいけば、何も混乱しない。 – managerger
さらに詳しい情報が得られました! –