Date: Mon, 28 May 2001 23:16:33 +0900
From: who@sub.example.jp
こちらにはいつもお世話になっています。
OS情報 :Win2000 SP1
コンテナ情報:VB6 SP5
DB情報 :MSDE
1)テーブルの列名をテキストファイルに出力できるか。
BCP を使ってあるストアドプロシージャーが返すデータを
テキストファイルに出力して、Excel等で読み込むロジックを
作成しています。
例えばこんな↓感じです。
BCP "EXEC BanquetReserve..Str_ActReserveAccept 1,_
'2001/01/28 ','2001/05/29',0,0,'',0" _
QUERYOUT _
"C:\DOCUME~1\YAMAGU~1.IMG\LOCALS~1\Temp\2.xls" _
-c -S yama2k -U sa -P
データはあるケースを除いては正常に出力されるのですが
さて、出力されたテキストファイルにテーブルの列の情報を
付加することは可能なのでしょうか。
Books OnlineのBCPを見る限りではそのようなオプションは
見つけられないのですが...........
やっぱり出力されたテキストファイルにフィールド名を出力する
コーディングをごりごり書かないといけないのでしょうか。
2)次のエラーが発生します。
クエリアナライザで
declare @PARA1 varchar(8000)
select @PARA1 = 'BCP "EXEC BanquetReserve..Str_ActWorkShiftBusinessSigma _
1,''2001/01/01 0:00:00'',''2002/01/01 0:00:00'',0,0" _
QUERYOUT _
D:\Temp\2.xls -c -S yama2k -U sa -P '
EXEC master .. xp_cmdshell @PARA1, OUTPUT
を実行すると ↓
output
SQLState = S0002, NativeError = 208
Error = [Microsoft][ODBC SQL Server Driver]
[SQL Server]
オブジェクト名 '#Temp_Str_ActWorkShiftBusinessSigma' は無効です。
(2 件処理されました)
(改行位置は修正しています)
と表示されます。
このストアドプロシージャー(A)には別のストアドプロシージャー(B)を
CALLしてます。
Bで作成したRecordset を A側で受け取り、テンポラリーファイルの中に
追加して、そのデータをSelect して、VB側に戻しています。
これだけの情報では何とも言えないのかもしれませんが、ストアドプロシージャー
をあげる訳にはいかないと思われますのでとりあえずこれだけでも
何かご指導いただけることでもあればと考えメールさせていただきます。
ご指導よろしくお願いいたします。m(._.)m
who@sub.example.jp
━┛━┛━┛━┛
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|