私は、大きくて複数結合されたSELECTステートメントの結果を取得し、クエリ結果をCVSファイルとして電子メールで送信しようとしています。クエリは正しく、電子メールは送信されていますが、結果のCVSファイルとしてのエクスポートを自動化するのに問題があります。私が読んでいることから、クエリ結果を自動エクスポートするための最善の策は、「BCP」と呼ばれるツールです。
ManagementStudioで次のようにBCPを使用しようとしました。
USE FootPrint;
DECLARE @sql VARCHAR(2048);
DECLARE @dir VARCHAR(50);
SET @dir = 'C:\Users\bailey\Desktop';
SET @sql = 'bcp "SELECT TOP 10 * FROM datex_footprint.Shipments" queryout "' + @dir + '" -c -t, -T';
EXEC master..xp_cmdshell @sql;
FootPrintは特定のデータベースの名前であり、datex_footprintはスキーマです。(これは実際のクエリではなく、単なるテストクエリです)。
これを実行すると、次のエラーが発生します: "SQLState = S0002、NativeError = 208" "Error = [Microsoft] [SQL Server Native Client 10.0][SQLServer]無効なオブジェクト名'datex_footprint.Shipments'。"
datex_footprint.Shipmentsが、テストしようとしているデータの正しいスキーマ\テーブルアクセスであることを100%確信しています。
この結果をCSVファイルにエクスポートしようとすると、私が見逃していることや間違っていることを誰かが見ていますか?具体的には、しかし、私はこのプロセスを自動化しようとしています。結果をCSVファイルにエクスポートする方法は知っていますが、T-SQLでエクスポートして、時刻ごとにファイルの生成を自動化できるようにしたいと考えています。
どんな助けでもいただければ幸いです!