質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

パス

パス(path)はファイルシステムの場所(階層)を明示したものです。

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

Q&A

2回答

2634閲覧

oracleDBで画像を登録する方法

ame_3

総合スコア0

Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

パス

パス(path)はファイルシステムの場所(階層)を明示したものです。

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

0グッド

0クリップ

投稿2021/04/11 13:03

編集2021/04/12 14:17

初心者です。
オラクルDBに画像を登録したいです。
いろいろ調べた結果、
VARCHAR2型で画像のパスを保存しようと思っているのですが、
どのようにパスを書いたらいいかわかりません。
(相対パスで書くのはわかるのですが、「どこ」から見たときの
相対パスなのかがあいまいです。)

稚拙な質問ですみません。
アドバイスいただけますと幸いです。

--フェス詳細テーブル CREATE TABLE fes_detail( fes_detail_id NUMBER(3) PRIMARY KEY, fes_id NUMBER(5) CONSTRAINT FK_fes_list REFERENCES fes_list(fes_id), held_detail VARCHAR2(100), access_detail VARCHAR2(100), eat_place NUMBER(1), locker NUMBER(1), congestion NUMBER(1), product_sale NUMBER(1), update_date DATE, photo_id VARCHAR2(100) ); --登録時 INSERT INTO fes_detail VALUES (seq_fes_detail.NEXTVAL,1, '公式サイト:http://rijfes.jp/','国営ひたち海浜公園茨城県ひたちなか市馬渡字大沼605-4', 1,1,1,1,'2020/08/04','fes.jpg');              ↑このfes.jpgの部分が画像パスを記述する部分です。

補足情報(FW/ツールのバージョンなど)

Oracle Database 19

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ame_3

2021/04/12 14:18

Orlofskyさん 親切に教えてくださりありがとうございます! 修正しました。
KOZ6.0

2021/04/13 00:40

BLOB や BFILE といったデータ型もありますよ。
ame_3

2021/04/18 07:58

KOZ6.0さん BLOB...初めて聞きました。ありがとうございます。調べてみます!
guest

回答2

0

「どこ」から見たときの

設計次第です。
DBから直接画像を見るわけではないので、利用するアプリケーションの都合にあわせて対応してください。
ルール決め次第なので如何様にも考えられます。

つまり
どこに置いて
どう参照させるか
決めた上で
なにをDBに保管するのか
決めてください。

ルール次第では拡張子だけでも済みます。拡張子すら不要かもしれません。
それもこれも決め次第です。

投稿2021/04/12 00:21

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ame_3

2021/04/12 14:49

m.ts10806さん 回答ありがとうございます! なるほど、もう一度DBの設計を見直します。
guest

0

作業ディレクトリを取得してファイル名と合成すればよいでしょう。

getcwd( dirname )||'\'||'fes.jpg'

もし'picture'などの子ディレクトリを用意するなら、

getcwd( dirname )||'\picture\'||'fes.jpg'

のように設定してはどうでしょうか。

投稿2021/04/11 15:04

seastar3

総合スコア2287

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ame_3

2021/04/12 14:46

seastar3さん 回答ありがとうございます!試してみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問