Visual Studio 2015内の最新のSSDTをSQL Server 2014プロジェクト/パッケージとして使用してExcelスプレッドシートを作成しようとしています。最初にSQL Serverのインポート/エクスポートデータウィザードを使用して、DATETIME列を含むSQL Serverデータベーステーブルからデータを取得し、これをExcelにエクスポートしてDATETIME列をDATEとして保存するDTSパッケージを作成して作成しましたExcelで。SQL Serverインポート/エクスポートデータウィザードとDTExec Excel日付
ウィザード中にDTSパッケージを実行すると、列値をDATEとしてExcelファイルが正しく作成されます。しかし、Visual Studio 2015(32ビットモードを使用)または32ビットバージョンのDTExecユーティリティを使用してウィザードがファイルシステムに保存したDTSパッケージを再実行すると、Excelファイルは常に列の値で作成されます。テキスト。 Excelシートは 'DateTime'タイプを使用して作成され、内部SSISタイプはDT_DBTIMESTAMPです。私は開発者用ワークステーションにOffice 2016 32ビットをインストールしているので、私はMicrosoft.ACE.OLEDB.12.0 32ビットドライバを使用しています(実稼動サーバー上で64ビットバージョンを使用する可能性は高いですが)。
ウィザードを使用して実行するとVisual Studioで実行する場合とDTExecを使用する場合の違いは何ですか?これは私を夢中にさせている!
また、誰かがこの列をExcelのDATEにするためのアプローチが異なりますか?
ありがとうございます!
すでにお使いのExcelシートにダミーのレコードを持っていない限りSSIS経由で秀でるためにdate
レコードをエクスポートブライアン
ありがとうございます。ウィザードは作成したDTSパッケージに含まれていない、これらのダミーレコードを作成しますか?それはどのように動作しますが、作成されたDTSパッケージを実行することはできませんか?その場合、出力ファイルにダミーレコードが表示されないのはなぜですか? –
これはおそらくSQL Server経由でDTSパッケージを使用しているときに内部的に行われますが、それらのレコードを処理するために使用している内部ロジックは何かわかりませんが、 SSISのデータ型。 – LONG
オンラインでサンプルを教えてもらえますか?私は、ダミー行で事前にExcelファイルを作成しなければならないと仮定していますが、ウィザードでファイルが作成されます。私は、しかし、どのように知りません。 DTSパッケージには、Excelスプレッドシートでシートを作成するためのCREATE TABLE 'Sheet1'クエリを発行するPrepare SQLステートメントがあります。ファイルがすでにそのシートに存在する場合、このステートメントは失敗します。だから私はダミーのレコードが事前に作成される方法を知らない。ダミーレコードをどうやって削除しますか? –