• ベストアンサー

Access2000 からOracle9i への変更

WindowsNT4 (またはWindows2000) VisualBASIC 6 sp5 でC/S型データベースアプリケーションを作成しようとしています。 初期の購入費用を低くおさえるために、始めはAccess2000で作成して、処理がきつくなってきたら、Oracle か MS-SQL-Serverに変えたいと思います。 その際の手間は、どの程度でしょうか? 全く見当がつかず、困っています。 ご存知の方、経験者の方教えて下さい。 情報不足がありましたら、ご指摘下さい。補足します。

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

  • ベストアンサー
  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.1

1.テーブルの移行 この程度は割りと単純作業で出来ると思います。 2.データの移行 移行にかかる時間はテーブル数と件数に依存します。 メモ型の移行が面倒かも(でもAccessでインポートすれば良いか) DBMSによって使えるデータ型が異なりますのでここは注意 3.プログラム修正 VBでAccessのDBをアクセスする方法としてADO系を使うならばそれほどプログラムレベルの修正は不要かも知れません。 SQL文実行やDBへの接続等は関数化をし、その部分を修正する事によってDBMS差異を吸収できるような開発をしておくと楽になるでしょう。 割りとSQL文の見直しが必要だったりします。 ここが大変かも知れません。 AccessもSQLServeもORACLEも使った事はあるけど微妙に記述が違ったり、使えない構文があったりします。 4.動作テスト 言わずも無くこれをしないと本番稼動は無理 5.実行環境の構築 サーバ側、クライアント側ともに必要でしょうね。 データ移行期間はシステムが使用出来ないしない事!(休日などを活用して作業する必要が有ります。) 別のDBMSの運用をするにはそれなりの知識も必要になるので、あまりやりたくはない作業の一つである事は事実

ykkw_2001
質問者

お礼

お礼が遅くなり申し訳ありません。 良く整理されたご回答を頂き、ありがとうございます。 >微妙に記述が違ったり、使えない構文があったりします。 そうですか・・・ 1~5と挙げていただいた項目、どれも大変な作業になりそうで、思いやられます。 ご回答いただいたことを、考慮して、はじめからOracleにしておくことも再度検討しようと思います。 ご回答ありがとうございました。

関連するQ&A

  • ORACLE8について

    WindowsNT4.0Server SP6a上のORACLE8をWindowsServer2003上に移行しようと思いますが、動作しますでしょうか?ご存知の方がいらっしゃれば教えてください。

  • ASPからOracle9iへの接続方法

    環境は以下のように変更となりました。 ・サーバーOS:WindowsNT SP6→Windows2000Server ・DB:Oracle8.0.5→Oracle9i ・ASP ・クライアント:Oracle8.1.6のまま ASPでWebからoo4oでOracleDBに接続します。 Oracle8で動作していたASPが、Oracle9iに変更した ところ、ASPの動作で以下エラーがでてしまいます。  エラー内容:   「orasession作成中にエラーが発生しました」 oo4oでの接続は以下のように記述しています。  Set Application("OraSession") =  Server.CreateObjec       ("OracleInProcServer.XOraSession") どんな原因が考えられますでしょうか? お教え下さい。よろしくお願いいたします。

  • SQLサーバとOracleどっちが多く使われてますか?

    データベースの勉強をしようと思っていますが、SQLサーバかOracleどっちを勉強しようか迷ってます。就職の機会が欲しいので、多くの職がある方を勉強しようと思っています。 SQLサーバかOracleかどちらの方が多く使われているのでしょうか?

  • Oracle8のアンインストール

    次のような環境でOracle8をアンインストールしようとしましたら、 エラーになり出来ませんでした。 エラーの理由と対処方法などわかる方がいらっしゃいましたら 教えて下さい。 宜しくお願いします。 ============================================================ 【使用環境】 ・OS:NT workstation 4.0(SP6) ・Oracle:oracle8 personal edition for win95/NT R8.0.4 ・oracle上では特にユーザが作成したdbは残っていません。 (というより、インストールされただけで使用されていません) 【エラー】 ・スタート - プログラム(p)- oracle for windowsNT から Oracle Installer を起動すると、設定の準備中のウィンドウ 表示中に以下のエラーが表示されます。 タイトル「Oracle Installer:ORAINST.EXE-アプリケーションエラー」 「”0x7801425c”の命令が ”0x00000010”のメモリを参照しました。 メモリが ”read”になることはできませんでした。 アプリケーションを終了するには[OK]をクリックしてください。 アプリケーションをデバックするには[キャンセル]をクリック。」 ※キャンセルしてもデバッカーは起動しません。   また、CD-ROMからインストーラーを起動するとインストール先を 指定するところまで正常ですが、インストールパターン(カスタム等) を指定する画面から進めると、同じエラーになります。 ============================================================ パソコンを別のユーザに譲るため、どうしてもアンインストール しなければなりません。ご協力宜しくお願いします。

  • Oracle9iからOracle10gへ変更

    Oracle9iからOracle10gへデータベースを変えようとしています。 データベースのみの変更のためアプリには手を入れなくても動くだろうと安易に考えていますが 何か変更しなければいけないところ(例:ロジックやコントロール)はあるのでしょうか? [現在の環境] WindowsXPPro Oracle9i VB6 SP5 [今後の環境] WIndows7Pro Oracle10g VB6 SP5 補足) VBフォーム上にORADCコンポーネントを使用してグリッドにDB情報を表示しています。 このあたりのコントロールもそのまま使用することはできるのでしょうか? ご存知の方ご教授いただければと思います。

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

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

  • VC++からのoracle接続方法

    初めまして。 助けてください。今日も帰れません。 現在VCアプリケーションでoracleデータベースの チェック処理の実現方法で悩んでいます。 connect及びselectする方法が力不足の為、 解りません。 (以下に実行環境を明記します。) OSはwindowsNT(SP6) APはVC++6.0 oracle8.0 です。 何方かご存知の方が要らしたら教えて頂けないで しょうか?

  • サーバ上のOracleデータベースにアクセスできず

    端末のアプリケーションからサーバ上のOracleデータベースにアクセスしていたのですが、 下記Aの作業を行った後に端末のアプリケーションからサーバ上のOracleデータベースへアクセスしたところ、 「サーバと接続できません。ORA-12560:TNS:プロトコル・アダプターエラーが発生しました」 とのメッセージが出ましたが、解消方法がわかりません。 ●Aの作業 ・Norton Antivirusをインストール ・TCP/IP詳細設定のWINSタブのWINSアドレスに昔のIPアドレス(128~始まる→現在は192から始まるものを使ってます)を削除。 その後、Norton Antivirusが影響しているのかなと思い、削除しましたが症状は変わりません。 なお、  ・OralceServie***  ・OralceOraHome90TNSListener  ・OralceOraHome90Agent はサービスから起動や停止をしても正常に動作します。 また、OSは2000サーバーSP2ですが、Oracleはヴァージョンの調べ方がわかりません(当方素人)。 サーバ自体は2002年9月頃に購入しており、同時に導入しているようです。 管理者が勝手に退職してしまい、当方を含めて職場にOracleに明るい物がおらず、困っています。 どなたかご教授いただけると幸いです。

  • Oracle10gXE DB再作成でログインできず

    デフォルトで作成されるDBは、「NLS_CHARACTERSET=AL32UTF8」だが、 JA16SJISTILDE で使いたいため、データベース「XE」を一度削除して、 同じデータベース名で再作成したんですが、再作成後、 sqlplusにてSYSTEMユーザでつなげません。 SYSTEMユーザでつないで、pupbld.sql を流さないと、 新規ユーザを作ってもログイン時にエラーがでます。 警告: 製品のユーザー・プロファイル情報がロードされていません。 PUPBLD.SQLをSYSTEMとして実行する必要があるかもしれません。 どなたか、よろしくお願いします。 ◆以下、手順メモです◆ 1.データベースの削除 >sqlplus /nolog SQL> connect / as sysdba 接続されました。 SQL> shutdown abort ORACLEインスタンスがシャットダウンされました。 SQL> startup restrict mount ORACLEインスタンスが起動しました。 Total System Global Area 146800640 bytes Fixed Size 1286220 bytes Variable Size 75501492 bytes Database Buffers 67108864 bytes Redo Buffers 2904064 bytes データベースがマウントされました。 SQL> drop database; データベースが削除されました。 Oracle Database 10g Express Edition Release 10.2.0.1.0 - Productionとの接続が切 断されました。 2.フォルダの作成 以下のフォルダが存在することを確認。中に存在したファイルを削除。 C:\oraclexe\app\oracle\admin\XE\adump C:\oraclexe\app\oracle\admin\XE\bdump C:\oraclexe\app\oracle\admin\XE\cdump C:\oraclexe\app\oracle\admin\XE\dpdump C:\oraclexe\app\oracle\admin\XE\udump C:\oraclexe\oradata\XE 3.初期化パラメータファイルの作成 以下の内容でテキストファイルを作成し、 C:\oraclexe\app\oracle\product\10.2.0\server\dbs\initXE.ora として保存する。 ---- db_name="XE" control_files=(C:\oraclexe\oradata\XE\ctrl01, C:\oraclexe\oradata\XE\ctrl02, C:\oraclexe\oradata\XE\ctrl03) db_block_size=8192 user_dump_dest='C:\oraclexe\app\oracle\admin\XE\udump' background_dump_dest='C:\oraclexe\app\oracle\admin\XE\bdump' core_dump_dest='C:\oraclexe\app\oracle\admin\XE\cdump' sga_target=400M undo_management=auto undo_tablespace=undo1 ------------------------------------------------------------------ 4.データベースの作成 (1) 初期化パラメータファイルを指定して、nomount 状態で起動する。 >sqlplus / as sysdba SQL> shutdown abort ORACLEインスタンスがシャットダウンされました。 SQL> connect / as sysdba アイドル・インスタンスに接続しました。 SQL> startup nomount pfile=C:\oraclexe\app\oracle\product\10.2.0\server\dbs\initXE.ora ORACLEインスタンスが起動しました。   :   : (2) データベースを作成 (create database コマンド) SQL> create database XE 2 logfile group 1 ('C:\oraclexe\oradata\XE\redo01a.log') size 50M, 3 group 2 ('C:\oraclexe\oradata\XE\redo02a.log') size 50M, 4 group 3 ('C:\oraclexe\oradata\XE\redo03a.log') size 50M 5 datafile 'C:\oraclexe\oradata\XE\system.dbf' 6 size 100M autoextend on next 10M maxsize unlimited extent management local 7 sysaux datafile 'C:\oraclexe\oradata\XE\sysaux.dbf' 8 size 100M autoextend on next 10M maxsize unlimited 9 default temporary tablespace temp 10 tempfile 'C:\oraclexe\oradata\XE\temp.dbf' size 100M extent management local 11 undo tablespace undo1 12 datafile 'C:\oraclexe\oradata\XE\undo1.dbf' size 100M 13 character set JA16SJISTILDE 14 national character set AL16UTF16 15 ; データベースが作成されました。 (3) pfile から spfile を作成 SQL> create spfile='C:\oraclexe\app\oracle\product\10.2.0\server\dbs\spfileXE.ora' 2 from pfile='C:\oraclexe\app\oracle\product\10.2.0\server\dbs\initXE.ora' 3 ; ファイルが作成されました。 --- 5.データベースの再起動 (正常起動の確認) の後、スクリプトファイルの実行。 スクリプトファイル … catalog.sql, catproc.sql, pupbld.sql ---- SQL> shutdown データベースがクローズされました。 データベースがディスマウントされました。 ORACLEインスタンスがシャットダウンされました。 SQL> startup ORACLEインスタンスが起動しました。 Total System Global Area 419430400 bytes Fixed Size 1287784 bytes Variable Size 121637272 bytes Database Buffers 293601280 bytes Redo Buffers 2904064 bytes データベースがマウントされました。 データベースがオープンされました。 > sqlplus / as SYSDBA SQL> @C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catalog.sql : : (結果の出力) : SQL> @C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catproc.sql : : (結果の出力) : ★この後、SQL*Plusを終了して、コマンドプロンプトから  「sqlplus SYSTEM/ORACLE」でログインしようとすると、エラーになる。 ERROR: ORA-01017: invalid username/password; logon denied 理由がまったくわかりません。どうかよろしくお願いします。

  • ORACLEでのSQLについて

    SQLについて教えてください。 今、VBからORACLEデータベースにSQLを投げる処理を作っているのですが、 一つわからないことがあります。 例えば、アクセスでは、クエリで新しいテーブルを作成するという考え方がありますが データベースがORACLEでも同じようなことができるのでしょうか? 別に新しいテーブルを作成することに執着するわけではなく、テーブルのデータを削除 してから、そのテーブルにSQLにて引っ張ってきたデータを入れる という ものでもいいと考えています。そのやり方でもかまいませんので教えてください。 宜しくお願いします。 Oracle8.1.6 vb6