2011-12-09 7 views
1

私はWebアプリケーションをASPで構築し、当初自分自身のローカルサーバー(Win 2008、IIS 7.0、SQL Server 2008)でホストしています。ホストされたSQL Server/IIS環境でBCPを使用するには?

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

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

アカウントを主催し、BULK INSERTが働いていないだろうとDiscountASP.Netは、ホストされたデータベースサーバが共有サーバーであるため、BULK INSERTのが許可されていないことを私たちに語りました。

このシナリオの回避策はありますか?彼らは、個々のINSERTを使用できることを示しました。

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

私の問題を見ていただきありがとうございます。

答えて

0

に解析されるXMLで送信する必要があるだろう、私は解決策を自分で取得することができました。ここでは解決ステップである(これは、クライアントの機密性には、私は、コードを共有することはできません):私は、Scripting.FileSystemObjectオブジェクトのサーバーオブジェクトを使用してASPコードからWebサーバ上のファイルからすべてのテキストを読んで

  1. ファイルのテキスト全体を変数としてストアドプロシージャ(SQL Server 2008)に渡しています。パラメータのデータ型は "adLongVarChar" Refer the data type table hereでなければなりません(私の場合のように列挙型が認識されない場合は、列挙型の代わりに値201を使用します)。

  2. 文字列を解析して各行を列値にさらに解析するためのストアドプロシージャでSQLコードを作成しました。

私の解決策の擬似コードが誰かにとって有益なことを望みます。

0

あなたは.NETからSQLBulkCopyを使用するか、いくつか試した後、SQLコード

+0

入手したソースファイルは、フラットファイルで、列と行の区切り文字があり、WebコードはClassic ASPです。 –

+0

サイドノートDiscountASP.NetはSQL Serverの.Netコードを許可します。何かご意見は? –

+0

@Moiz Tankiwala:Webサービスなどを呼び出せない限り、SQL Server以外のリソースにアクセスする際に同様の問題が発生します。しかし、私は他のクライアントデータベースを妨害する可能性のあるCLRの制限があると思います – gbn

関連する問題