1

ASP で構築された Web アプリケーションがあり、最初は自分のローカル サーバー (Win 2008、IIS 7.0、SQL Server 2008) でホストされていました。

次に、ウェブサイト + データベース用の discountASP.Net ホスティング アカウントを購入しました。

Web アプリケーションは、Web サイトのルートの下にあるフォルダーからファイルを取得し、データベース内のレコードに一括挿入します。ローカル開発ボックスではすべてが正常に機能しました。

データベース + Web サイトが DiscountASP.Net のホストされたアカウントに移動されたとき、BULK INSERT は機能せず、DiscountASP.Net は、ホストされたデータベース サーバーが共有サーバーであるため、BULK INSERT が許可されていないことを通知しました。

このシナリオの回避策は何ですか? 彼らは、個別の INSERT を使用できることを示しています。

より良い解決策はありますか?誰かが同様の問題に直面し、再利用できる解決策を用意していますか? (車輪を再発明するのではなく)。

私の問題を調べてくれてありがとう。

4

2 に答える 2

0

いくつかの試行錯誤の後、私は自分で解決策を得ることができました。解決策の手順は次のとおりです (クライアントの機密保持のため、コードを共有することはできません)。

  1. Scripting.FileSystemObject サーバー オブジェクトを使用して、ASP コードから Web サーバー上のファイルからすべてのテキストを読み取りました。

  2. ファイルのテキスト全体を変数としてストアド プロシージャ (SQL Server 2008) に渡しています。パラメータのデータ型は「adLongVarChar」である必要があります。ここでデータ型の表を参照してください(私の場合のように列挙型が認識されない場合は、列挙型の代わりに値 201 を使用しました)。

  3. 文字列を行に解析し、さらに各行を列の値に解析する SQL コードをストアド プロシージャに記述しました。

私のソリューションの疑似コードが誰かに役立つことを願っています。

于 2011-12-22T10:49:45.713 に答える
0

SQLコードで解析するには、.netからSQLBulkCopyを使用するか、XMLで送信する必要があります

于 2011-12-09T13:21:56.047 に答える