1

CSV ファイルをインポートする Windows サービス アプリケーションがあります。インポート プロセス中に、アプリケーションはデータベースに対して一連のクエリを実行します。ストレス テスト中に、40,000 レコードを含む CSV のインポートを試みました。これは、データベースへの少なくとも 40k のクエリを意味します。通常、クエリは正常に実行されますが、アプリケーションがデータベースからランダムにエラーを受け取る場合があります "無効なオブジェクト名 'TableName'".

エラーの原因は何ですか?ほとんどの場合、クエリは正常に実行されるため、クエリに含まれていないことはわかっています。

これは、テキスト ビジュアライザーを使用してキャプチャした実際のクエリです。これは SSMS で正常に実行されます

SELECT c.MemberInternalKey, 
       c.ClubCardId, 
       c.RestrictionId, 
       c.ExpirationDate, 
       m.ExternalMemberKey, 
       m.BuyingUnitInternalKey, 
       b.ExternalBuyingUnit,  
       b.PostalCode, 
       b.Country, 
       b.Street1, 
       b.City, 
       b.HomePhone, 
       b.EmailAddress, 
       b.SendEmail, 
       m2.ExternalMemberKey as OldestExternalMemberKey, 
       m2.BirthDate, 
       m2.MobilePhoneNumber, 
       m2.WorkPhoneNumber, 
       m2.Gender 
FROM dbo.CRM_Clubcard c 
INNER JOIN dbo.CRM_Member m ON c.MemberInternalKey = m.MemberInternalKey 
INNER JOIN dbo.CRM_BuyingUnit b ON m.BuyingUnitInternalKey = b.BuyingUnitInternalKey 
INNER JOIN dbo.CRM_Member m2 ON m2.BuyingUnitInternalKey = m.BuyingUnitInternalKey 
WHERE c.ClubInternalKey = 2 
AND c.ClubCardId  = '1004303119' 
AND m2.IsMainMember = 1
4

1 に答える 1

0

データベースへのすべてのメソッド呼び出し/クエリの接続文字列を再初期化することで、問題を修正しました。プロファイラーの実行は大きな助けになりました。

于 2016-09-02T07:45:02.487 に答える