OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

ファイルのアップロード

  • すぐに回答を!
  • 質問No.217576
  • 閲覧数227
  • ありがとう数1
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 7% (27/359)

お世話になります。
ファイルのアップロードについて教えてください。
自分のローカルディスクにあるexcelやword等のファイルをアップロードし、ACCSESS等のDBへ登録させるにはどうしたら良いのでしょうか?
ディレクトリへのアップロードの仕方はわかるのですが、
DBへの登録の仕方がわかりません。また、ODBC等の設定方法も分かります。
参考になるソース等ありましたら教えてください。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル12

ベストアンサー率 65% (242/372)

私もmann555さんと同意見で特定のディレクトリにアップロードしてもらい、ファイル名をデータベースに保存させています。

肝心のユニークなファイル名の生成はFileSystemObjectのGetTempNameメソッドを利用してこのファイル名でサーバーに保存し、ブラウザに返す時に本来のファイル名を返すようにしています。
(もちろんこのユニークなファイル名もデータベースに保存させておく必要がありますが・・・)

これだと同時に複数から処理が行われてもファイル名が重複することがありませんし、同名ファイルをいくつでもアップロードしてもらうことができます。

Accessですと、直接データベースの中にバイナリファイルを保存することも出来るらしいのですが、他で同じデータが必要になった時や他のデータベースに移行するときに大変な目にあいそうなので利用したことがないです。
(そもそもAccess自体も最近使ってないんですが)

あくまでこれは私なりの方法で、これがベストの方法とは言えませんが、少しでもsuperstarさんの参考になれば幸いです。
補足コメント
superstar

お礼率 7% (27/359)

貴重な意見ありがとうございました。
このときのユニークなファイル命名法は、Getbasenameでベース名をとりだし、それに拡張子つけるという方法を使われているのですか?
また、GETTEMPNAMEについては、私の本ではランダムなファイル名となっています。必ず一意になるのでしょうか?
度々申し訳ございませんが、宜しくお願いします。
投稿日時 - 2002-02-20 16:40:25
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル9

ベストアンサー率 29% (24/82)

こんにちは。 回答ではないのですが、ちょうど私も同じ質問をしようと思っていたのでカキコさせていただきます。 私の場合は、EXCELかCSVをDBへ登録したいのですが。 EXCELかCSVにODBC接続するADOコネクションを作成し、インサートされる側のDBのコネクションをもうひとつ作成する。↓たぶんこういう感じ?? Conn.Open "DRIVER={Microsoft Exc ...続きを読む
こんにちは。
回答ではないのですが、ちょうど私も同じ質問をしようと思っていたのでカキコさせていただきます。
私の場合は、EXCELかCSVをDBへ登録したいのですが。

EXCELかCSVにODBC接続するADOコネクションを作成し、インサートされる側のDBのコネクションをもうひとつ作成する。↓たぶんこういう感じ??

Conn.Open "DRIVER={Microsoft Excel Driver (*.xls)}; DBQ=" & ファイルのパス & ";"

EXCELレコードセットのEOFまでループしながら、DBへ1レコードずつインサートする。

と、思ったのですが、EXCELレコードセットの作り方がよくわからないー。(調べ中)

まだ何もやってみてないのでなんとも言えないのですが、異様に効率悪い方法な気がして、superstarさんの質問に注目してたんです!!
  • 回答No.2
レベル9

ベストアンサー率 46% (29/62)

ファイルはサーバーのフォルダに保存し DBには保存先のPathとファイル名を登録する という方法では駄目なんですか? 保存先のファイル名は日時等付けてユニークになるよう リネームしてやる必要がありますが... DBにファイル自体を登録する方法が無いわけでは 有りませんが、あまり効率のいいやり方ではないかと...
ファイルはサーバーのフォルダに保存し
DBには保存先のPathとファイル名を登録する
という方法では駄目なんですか?
保存先のファイル名は日時等付けてユニークになるよう
リネームしてやる必要がありますが...

DBにファイル自体を登録する方法が無いわけでは
有りませんが、あまり効率のいいやり方ではないかと...
  • 回答No.4
レベル12

ベストアンサー率 65% (242/372)

> このときのユニークなファイル命名法は、Getbasenameでベース名をとりだし、それに拡張子つけるという方法を使われているのですか? 本来のファイル名は別途保存しているので、 GetTempNameメソッドの戻り値をそのまま使用しています。 ですが、superstarさんの方法でも特に問題ないと思います。 >また、GETTEMPNAMEについては、私の本ではランダムな ...続きを読む
> このときのユニークなファイル命名法は、Getbasenameでベース名をとりだし、それに拡張子つけるという方法を使われているのですか?

本来のファイル名は別途保存しているので、
GetTempNameメソッドの戻り値をそのまま使用しています。

ですが、superstarさんの方法でも特に問題ないと思います。

>また、GETTEMPNAMEについては、私の本ではランダムなファイル名となっています。必ず一意になるのでしょうか?

完全に一意になるという保証はできませんが、複数台のクライアントマシンやWAS(Web Application Stress Tool)などでテストしたときには支障なかったです。
あと、実際にこれを使用したASPを実サイトを運用しておりますが、今のところ特に問題は起きていないです。

参考になれば。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ