.NET 4でオンラインツールを開発して、ExcelページをDataTableに読み込み、SqlBulkCopy.WriteToServer()を使用して一致するSql Server 2000(すぐに2008になる)テーブルにアップロードします。それは私の会社内での使用のためだけであるので、私は外部使用のためにそれを確保することについてあまり心配する必要はありません。SqlBulkCopyは通常のバルク挿入の方法ですか?
私はそれが夢のように働いていて、以前は私が行っていた行単位の挿入よりもはるかに速いのです。しかし、今私はそれが正しいアプローチであるかどうか自分に尋ねています。
第1に、ビジネスの観点からは、他のすべてのデータアクセスは、ユーザーにexecアクセス権を付与したストアドプロシージャによるものですが、これにはテーブルレベルのセキュリティが必要です。
第2に、ほとんどのオンラインドキュメントには、毎日の使用ではなく、1つのオフオペレーションのためのツールのほうが多いことが書かれています。
SqlBulkCopyを使用した場合のネガには、多くの言及がありません。私が心配すべきセキュリティ上の問題やその他の問題はありますか?私が検討できる代替アプローチはありますか?すべてと同様に、私の主な目的は、セキュアで正しい方法で、可能な限り迅速に作業することです。
多くのありがとうございます。
アダムありがとう - 私が探していたものです。 –
@Kurt問題ありません。私が示唆できるのは、基準の違いが何であるかを何らかの形で文書化することだけです。残念ながら、私たちはほとんど意味を持たず、伝統を壊すコードをたくさん持っています。誰かが特定の人によって、説明のない変更の理由でパフォーマンス/バグフィックス/ハックのために行われたことを知るだけです。 –