まず、ユーザーが本番マシンで独自のクエリを実行できるようにすることは決してありません。彼らは、テーブルスキャンやその他のパフォーマンスキラーを一日中実行する可能性があります。
同様の状況があり、通常、ユーザーが「呼び出す」ためのカスタムストアドプロシージャを作成し、「ほぼライブ」のデータを実行しているバックアップサーバーへのアクセスのみを許可します。
私たちのユーザーはExcelに精通しているので、フィルタリング/カスタマイズ用の十分なパラメーターを使用してストアドプロシージャを作成し、次のようなものを使用して簡単に呼び出すことができます。
EXEC YourProcedureName '01/01/2010','12/31/2010','Y',null,1234
私はパラメータが何をするかを正確に文書化します、そしてそれらは一般的にそこから行くのが良いです。
Excelクエリを設定するには、ユーザーのPCでデータソースを設定する必要があります(コントロールパネル-データソース-odbc)。これは、Windowsのバージョンによって若干異なります。
EXEC
Excelから、上記のコマンドである「クエリ」を設定する必要があります。Excelのバージョンに応じて、次のようになります。メニュー-データ-外部データのインポート-新しいデータベースクエリ。次に、データソースを選択して接続し、テーブルダイアグラムメーカーをスキップして、上記のSQLを入力します。また、1つの手順ですべてを実行しようとしないでください。実行内容に基づいて、異なる手順を作成してください。
データがExcelシートに配置されると、ユーザーはそれを他のシートにプルして自由に操作できます。
一部のユーザーは少し進んでいて、独自のSQLを作成しようとしていますが、それは面倒です。私は彼らの間違ったクエリをデバッグして修正することになります。また、クエリを修正すると、彼らは常にそれをいじくり回して、再びそれを壊します。ストアドプロシージャを使用すると、変更できなくなり、他のプロシージャと一緒にソースコードリポジトリに配置できます。