[PHP-users 21928]Re: データベース上のExcelをダウンロード

Etsuo SUMIYA e_sumiya @ f-den.co.jp
2004年 6月 1日 (火) 15:26:36 JST


sumiyaといいます.

From: "Kuma" <satoru_kumagai @ mjs.co.jp>
Subject: [PHP-users 21926] Re: データベース上のExcelをダウンロード
Date: Tue, 1 Jun 2004 14:34:23 +0900
Message-ID: <019701c4479a$1b0f74f0$7a09a8c0 @ dellkm>

> クライアントアプリを開発した開発元に,バイナリの保存方法を確認しました.
> ADOのAppendChunkというメソッドを使っているとの事でした.
> 事情を話したら,GetChunkで取り出せるのとの返事でしたが,
> PHPの話をしたら,サポート外です・・・.と言われてしまいました.
> 
> その部分のサンプルソースを見せてくださいといったら,
> 下記のソースを教えてもらいました.
> ADO_Recordset.Fields("Obj_Excel").AppendChunk excel_obj

取り出せることは,Excelファイルとして開くための前段階として必要ですが,
取り出せるのは,Kumaさんが先のSELECT文でExcelのオブジェクトが取り出せ
たのと同じ状況ですよね.

開発元に「取り出したExcelファイルをファイルに保存して開けますか?」と
確認してみてはいかがでしょうか?

あるいは,フィールドタイプがbinaryあるいはvarbinaryで定義していないと
いうことはないでしょうか?つまり,charあるいはvarcharで定義してある...

> このことで,MS関連のヘルプを今まで見ていましたが,
> どのような形式(base64)で保存されるなどの説明は見つけられませんでした.
> 
> 教えてもらったサンプルソースが,実際のソースと本当に一致しているかどうかは
> 別として,このソースの前後に,何かバイナリを保存するための記述が
> あるかもしれません.
> ここをクリアしないことには先に進むことが難しそうです.

どういう理由でPHPがサポート外なんでしょうか?PHPでは動かないという明確
な証拠を持っていてサポート外なのか,使ったことが無い,動作確認したこと
がないのでサポート外なのでしょうか?いずれにしても,「PHPがサポート外
というのはDBアプリケーションとして標準的な機能を満たしていないというで
はないですか?」とつっこんでみる.

DB上はbinaryで保存せず,hex textで保存するという仕様でしたら,PHP側で
取り出したものをbinaryに変換しないといけません.pack()関数が使えると思
います.やったことはありません.


PHP-users メーリングリストの案内