次のSQLを使用してExcelからデータを読み込みますが、最初はいくつかの行をスキップする必要があります。例えば、実際のデータは5行目から始まるので、最初の4行はスキップする必要があります。openrowset for excel:いくつかの行をスキップできますか?
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=YES;Database=c:\daniel\test.xls',
'SELECT * FROM [sheet1$]');
これは、row_number()を実行するETLプロセスの速度を低下させます。そして、SQL Serverがデータを並列に読み込むことができるかどうかわからない場合、rownumはスレッド1の最初の100行の読み込み、スレッド2の2番目の100行の読み込みなど、ファイル内の位置を反射できません。 2番目の100行が最初にデータベースにロードされました –
@ダニエル・ウー:だから私たちは何を持っていますか?順序付けられたROW_NUMBERを使用すると、プロセスは非常に遅くなる可能性があります。そして、順序付けられていないものは、Excelシートの行の実際の順序とは異なる行番号を割り当てる可能性が非常に高い。そして、私の答えは、この状況ではほとんど完全にごみになります。申し訳ありませんが、私は当面あなたのためのオプションを使い果たしたようです。これだけの場合:元のExcel文書の行に番号を付けることができますか?つまり、実際の行番号を表す値を持つ列を追加すると、SQLでフィルタリングできます。 –