1

事前にこれについて意見をお持ちの方に感謝したいと思います。私は、SQLXMLBulkLoad4 クラスを使用して xml ファイルをステージング テーブルに一括読み込みし、ストアド プロシージャを使用してこのデータで運用テーブルを更新するプログラムを開発しました。ここが途方に暮れているところです。開発用コンピューターではすべてが非常にうまく機能しましたが、必要なすべてのアイテムを移動し、正しい .dll ファイルを運用サーバーにインストール/登録した後、SqlBulkLoad エラー ログに致命的なエラーが記録されます。ログのテキスト (xml) は次のとおりです。

 <?xml version="1.0"?>
 <Result State="FAILED">
    <Error>
        <HResult>0x80040154I32</HResult>
        <Description><![CDATA[Invalid connection string.]]></Description>
        <Source>XML BulkLoad for SQL Server</Source>
        <Type>FATAL</Type>
    </Error>
</Result>

突然このエラーが表示されますが、理解できません。さまざまな接続文字列の種類を試しましたが、役に立ちませんでした。SqlXmlBulkLoad4 クラスを使用すると、OLEDB 接続文字列が呼び出されることを理解しています。SQLXMLBulkLoad の接続文字列の例を次に示します。

<add key="ServerNameBulkLoad" value="Provider=SQLNCLI10;Server=ServerName;Database=DBName;Trusted_Connection=Yes;"/>

また、sqloledb.dll をサーバーに手動で再登録しようとしました。

助言がありますか?

4

1 に答える 1

1

さて、一連の接続文字列をテストした後 (www.connectionstrings.com に感謝)、ようやく問題の解決策を見つけました。実際、それは接続文字列でした。正しい接続文字列 (運用サーバーで使用する場合) は、SQLNCLI10 の代わりに Provider=SQLOLEDB.1 を除いて、上記と同じです。これは、プログラムが実行されているサーバーに関係していると思います。まあ、古い法規とだけ言っておきましょう。それでも、問題は解決しました。ご協力いただきありがとうございます。

于 2012-07-31T14:17:01.867 に答える