サーバー上の SQL データベースにクエリを実行する C# アプリがあり、何度もテストしましたが、今日、クエリはデータを返さず、アプリとデータベースは同じです。変更はありません。
なぜこれができるのか分かりますか?
何かが変わったに違いない。クエリが変更されたか、データが変更されました。または、セキュリティが変更された可能性があります。まず、SQL Server Profiler を実行することから始めましょう。これにより、データベース サーバーにヒットしているすべてのクエリと、それらを実行しているユーザーを確認できます。これは、このような問題をデバッグする優れた方法です。クエリが正しいと思われる場合は、C# アプリと同じ資格情報を使用して SQL Server Management Studio にログインし、SQL Server プロファイラーに表示されるクエリを手動で実行してみてください。
コードが機能しなくなる原因となる可能性のある小さな変更がたくさんあります。たとえば、サーバーのカルチャ設定が変更された場合、日付文字列の解析が異なり、使用している形式が認識されない可能性があります。
カルチャに依存するデータを解析するときにカルチャを指定するなど、このような小さな変更に対してアプリケーションの意味を弱める方法があります。
通常、正しい結果またはエラーメッセージが表示されます。try...catch
何かがうまくいかなかったことを示すことなく、エラーメッセージを飲み込んでいるものがないことを確認してください。
私の提案は、基本から始めることです。コードをデバッグしてステップ実行し、SSMS から直接データベースにクエリを実行して、同じ結果セットが得られるかどうかを確認します。SQL接続、SQLクエリなどを試してみましたか?
機能していないだけでなく、もう少し情報を提供する必要があります。使用しようとしているコードと、いくつかのサンプル データベース コンテンツをコピーして貼り付けます。
構成マネージャーから動作している場合は、SQLサーバーを確認してください。