• ベストアンサー

オラクル SQLサーバーにて ファイルをDB管理したい

オラクルもしくはSQLサーバーにて ファイルとか画像もデータベースで管理したいのですが オラクルやSQLさーばーはファイルとかDBは 管理できるのでしょうか? 管理できる場合 ファイルをDBに保存するのでしょうか? もしくは ファイルへのリンク アドレスを 管理するのでしょうか? 詳しい方教えてください

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

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.2

Oracle/SQL ServerともDBでファイルを保管することは可能です。 DBでの保管方式は通常複数用意されており、実際にファイルをデータストレージに保存する方法や専用ストレージに保存する方法、それ以外の方法もあります。 ファイルをDBに保存することの良し悪しは、立場と志向により意見が分かれますので議論する気はないのですが、保存しない方のメリットの例がすでに挙げられているようなので、保存する方のメリットをいくつかあげておきます。 (ちなみに私は基本的にDB保管するようにデザインするタイプです) ・フィールドの1つとして取り扱われるので、実ファイルの存在とデータの整合性をDB自体が保証する ・データベースバックアップにファイル自体も含まれるので、リカバリが容易 ・SQL ServerのReporting ServiceのようにDBに収録された画像ファイルをそのまま割りつけられるようなツールにも利用できる ・DB内にバイナリ保管してしまうと、手順を踏まないとファイルに戻せないので、物理的なセキュリティ対策には有効 MicrosoftのSharepointなどがドキュメントをデータベースに保管している例です。

その他の回答 (1)

noname#182251
noname#182251
回答No.1

画像(jpgやpng)とデータファイル(ワード、エクセルその他)を管理するアプリケーションをそれぞれに使っています。バックエンドで動いているDBはMS-AccessでオラクルやSQLサーバー出はないし、最終使用目的が判らないので以下は参考程度に。 基本的に様々なDBでファイル管理は可能でしょう。その場合、ファイルをDB内部に保存するのはお奨めできません。ファイル名(リンク アドレス?)を管理した方が柔軟性があります。ちょっとした操作をDB抜きにしたい場合もあります。一時的に頻繁に使用するデータへのショートカットをデスクトップに置くなどはその例でしょうか。 画像管理に使用しているアプリケーションは下記で、約2万枚の画像を管理しDBのサイズは26MBです。 http://awplus.jp/soft/page1/aj/photodb.html

関連するQ&A

  • DBサーバーはどれがいいのですか?

    MySQL、PostgreSQL、SQLサーバー、ORACLEデータベースについて 仮に、ユーザが5000万人のSNSを作った場合、MySQLやPostgreSQLで対応できますか? 検索に時間がかかったりするのでしょうか? その場合、DBをORACLEにしたほうがいいのでしょうか? ■費用について もし、DBサーバーを1台設置して、ORACLEにした場合、初期費用や毎月のコストはどのくらいになるのでしょうか? ORACLE対応のDBサーバーの金額等も教えて頂ければ幸いです。 あと、SNSの会員が10万人までだとしたら、 MySQL、PostgreSQL、SQLサーバー、ORACLEのうちだと、どれがコスト的に一番効率的でしょうか?

  • VBでSQL-serverをプログラムする

    VBでmdbファイルを操作するプログラムを勉強していますが、データベースをサーバー管理するならば、AccessではなくSQL-serverなどを使った方が良いと聞きました。 質問なんですが、 SQL-serverには、Accessと同じようにユーザーフォームを使ってデータベースシステムを構築するような機能が付いているのでしょうか? そもそもOracle、dBase、SQL-serverといったデータベースソフトは、DBそのものを作成するソフトであって、DBシステムを構築するにはVBなどによるプログラム開発が必要なのでしょうか? 分かりにくい質問ですみません。

  • oracle 9i と SQL SERVER 2005 DBリンクにつ

    oracle 9i と SQL SERVER 2005 DBリンクについて とても困ってます。 よろしくお願いします。 仕事で、oracle 9iとSQL SERVER 2005をDBリンクさせて、oracle 9iのTableとSQL SERVER 2005のTableを結合させて、SELECT文を作成したいです。 本番環境は、DBサ―bとWebサーバは別々でとりあえずlocal開発環境を作成しています。 <確認したこと> ・global_names = Flase ・ODBCの設定はSQL SERVER 2005に接続確認しました。  →データソース名は、「SQLSRV」です。 ・inithsodbc.oraの設定    HS_FDS_CONNECT_INFO = SQLSRV    HS_FDS_TRACE_LEVEL = OFF ・LISTENER.ORAの設定(編集後再起動しました)  → (SID_DESC = (SID_NAME = HSODBC) (ORACLE_HOME = D:\oracle\Ora9IUTF) (PROGRAM = hsodbc) ・TNSNAMES.ORAの設定 HSODBC = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =localhost)(PORT = 1521)) ) (CONNECT_DATA = (SID = HSODBC) ) (HS = OK) ) ・DBリンク作成(小文字を認識するため、ダブルクォーテーションで囲います)   CREATE DATABASE LINK DB_LINK_SQLSRV   CONNECT TO "ユーザ" IDENTIFIED BY "パスワード" USING 'HSODBC'; ・SELECT文   SELECT * FROM テーブル名@DB_LINK_SQLSRV; 上記の手順ですが、サービス名が解決できません。

  • oracle,sql-server,DB2,フリーDB

    oracle 10g sql-server 2005 DB2 フリーDB(mysqlなど) はどれがいいでしょうか? 一応3年ぐらい前までは開発現場にいたので一通り知っています。 すべて経験ありますが管理はしたことはありません。 価格ならフリーが一番でしょう。信頼性で言うとoracle でもコストが高い。 MSとくっつくならsql-serverだと思うのですが。 まだ社内でどの程度の規模になるかも把握し切れていませんが、 やはり無難にoraが一番でしょうか?? 後々に業務システムの開発をします。 javaにするかVB,delphiなどにするかも決まってません。 DB2なら一応資格も持っているんですけどね。 管理、構築の容易さなどそれぞれの特徴も教えてください。

  • OracleからSQL Server 7.0へのデータの渡し方

    Oracle 8.1.6から SQL Server 7.0にデータを渡したいのですが、 CSVファイルを利用したファイル転送以外の方法ってどんな方法が あるんですか? 環境 Oracle 8.1.6(Trubo Linux Server 6.0) SQL Server 7.0(Windows 2000 Server) ・ネットワーク的には、同一LANの中に存在します。  よろしくお願いいたします。

  • Oracleへのリンクサーバー設定について

    お世話になります。 下記環境におきまして、SQL ServerよりOracleへリンクサーバーを作成しようとしたところ、 「リンクサーバー"XXX"のOLE DB プロバイダ"MSDAORA"のデータソースオブジェクトを初期化できません。 リンクサーバー"XXX"のOLE DB プロバイダ"MSDAORA"から、メッセージ"Oracle"クライアントと ネットワークコンポーネントが見つかりません。これらのコンポーネントはOracle Corporationから提供され、 Oracle Version 7.3.3(またはそれ以降)のクライアント ソフトウェアの一部としてインストールされます。 プロバイダは、これらのコンポーネントがインストールされるまで機能しません。"が返されました。 (Microsoft SQL Server,エラー:7303)」 となり、作成に失敗してしまいます。 SQL Serverには10gのOracleクライアントをインストールしてあるのですが、原因がわかりません。 どなたか、同じ原因を経験され、解決された方はいらっしゃいますか。 もし、お分かりでしたら、ご教授頂きたいのですが。 よろしくお願いいたします。 尚、SQL Serverは運用の関係上、Oracleクライアントインストール後、再起動は行っておりません。 環境 OS:Windows2003 DB:SQL Server 2005 Oracle:10g

  • Oracleで流したSQLのログを取得できますか?

    ASP+Oracle9iで作られたシステムがあります。 Oracleの設定などは前任者がしており、まともな引継ぎを受けないまま私が維持運用員となりました。 現在DBからあるレコードが消えてしまい(最初から作られてない可能性もあり)、顧客からクレームがついています。 状況から考えて怪しいプログラムを調査したのですが、原因不明でした。 そこで、Oracleの方で今まで流れたSQLをログとして保存していれば手がかりがつかめるのではないかと思い、情報を探しているのですが見つからないので教えて頂きたいのです。 私はOracleの知識(管理面について)が殆どなく、Oracleを使うことはできるが、Oracleの設定がどういう状況になっているか調べることもできず、資料もありません。 1.そもそもOracleにSQLをログとして保存する機能があるのか? 2.あるとすれば、保存機能が有効になっているか、保存したファイルがどこにあるかをどこで確認できるか? 以上の点についてご存知の方、どうぞ回答よろしくお願いします。

  • DB超初心者です。オラクルとSQL Serverの差異は

    データベースソフトを検討していますが、A社はオラクルで、B社はSQL Serberで作ったものを提案してきました。 機能的にはあまり差がないように見えるのですが、RDBMSの差が出てくる場面というのはあるのでしょうか。 また、運用面での違いもあれば教えてください。 OSは2003 Serverです。

  • SQLサーバーをマスターできればオラクルもすぐにわかりますか?

    SQLサーバーをマスターできればオラクルもすぐにわかりますか? とっつきやすいですか? 要はSQLサーバーとオラクルは似ていますか?

  • [Oracle][IBM DB2][SQL Server]の違いと適性

    現在、Accessで業務アプリケーションを作成しているのですが、そろそろパフォーマンス的にも限界で、というかC/S環境でAccessを使っていること自体危険ですね… ここでデータベースをグレードアップしようと思っています。 しかし、データベースと言ってもたくさんあり、どれがいいのか 迷っています。 現在、商用RDBMSでは[Oracle][IBM DB2][SQL Server]がメインとの ことですが、これらの違いが分かりせん。 うちの規模は社員数が40人程度です Oracleは大規模システム向けと聞いた事があるのですが、 それであれば、IBM DB2かSQL Serverなのでしょうか 御教授宜しくお願いします。