• ベストアンサー

ORACLE9iがわかる方

SQL Plusからのデータのインポートの方法を教えていただきたいです。元データはACSESSで用意されていて、ORACLEの方にユーザーも作成してテーブルも用意しました。あとはACCESSのデータをORACLEの方にインポートしてあげればいいんですが、量が半端じゃないので出来ればSQL Plusでコマンド入力して一気にインポートしてしまいたいです。一応原始的に新規.MDBにリンクテーブルを作成し、元データから一つ一つ貼り付けしてもいいんですが、それでも時間がかかります。わかる方いらっしゃいますでしょうか???

  • tmgm
  • お礼率17% (47/273)

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

  • ベストアンサー
  • yoshisuke
  • ベストアンサー率65% (19/29)
回答No.2

新規.MDBにリンクテーブルを作成したら、そのリンクに対して元データをインサートをするクエリーを作って実行してみてはどうでしょうか?

tmgm
質問者

お礼

更新クエリというやつですかねぇ~。がんばってみます!アリガトウございました。

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

SQL*Plusからインポートは出来ません。 データをCSVや固定長のテキストファイルにして、SQL*Loaderを使用してロードしてください。

関連するQ&A

  • Oracleで言うROLLBACKする方法について

    最近SQL-Serverを使い出した初心者です。 こんな質問する事事態、お恥ずかしいのですが 教えてください。 該当テーブルにデータを一括インポートした際、 不必要なデータも紛れ込んでいました。 1件毎に削除すれば良いのですが莫大なデータなため 大変で元に戻したいのですが、バックアップしたものから 既に変ってしまっています。 そこで、UNDOまたはOracleで言うROLLBACKする方法等 無いのでしょうか?

  • アクセスからオラクルへテーブルをエクスポートするVBAコードは?

    バックアップとして、アクセスからオラクルへテーブルをエクスポートします。その際のアクセスVBAのコードがわかりません。 SQLで行おうとしたらフィールドが120ほどありコードが軽く千行を超えてしまったためあきらめました。 流れとしては、mdb内にオラクルテーブルをコピーして→mdbからオラクルへテーブルをエクスポートして→テーブルのリンクを削除する、と考えています。 また、もしSQLで簡潔に上記作業を行える書き方があるのなら、それも合わせて回答をいただけるととても助かります。 よろしくお願いいたします

  • Excel→Access→Oracleでインポートする手順

    Oracle 9iで作成したテーブルを Access2002でリンクさせ、 Excel2002で作成したデータを、 インポートしたいのですが、 Accessの操作(Excelデータの取込&Oracleへのインポート)の 方法の手順を教えていただけないでしょうか。 ちなみにテーブルの作成とリンクは済んでおります。

  • ORACLEデータをACCESSへインポート VB

    OracleのデータをAccessへインポートする方法について、どなたかご教授ください。 VB.NETで OracleからAccessへのデータコンバート機能を作ることになりました。 (環境 OS;Win7 言語;VB2008 Oracle;10g Access;2010) 対象のテーブル数、フィールド数、データ数がかなり多いのですが、Accessへデータをインポート(コピー)する良い方法はないでしょうか? 普段、データ入力が専門のためプログラムは初心者です。 今のところOLE DBを使用して1行ずつデータを登録する方法しかできません・・・ ヘルプを参考に、ODBCでDSNレスのINTO(SQL)を挑戦しているのですが「入力テーブルまたはクエリが見つかりません」と出てしまいます。 ◇質問 (1).複数のテーブルをAccessへコピーするにはどんな方法がありますか?   また、このような対象テーブルが多い場合に有効な方法は? (2).ODBCでDSNレスのINTO(SQL)を作成するのに注意することはありますか? ちなみにエラーが出てしまうSQL文は以下です。違っているでしょうか? cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;data source=D:\DATA\DB.mdb" sql = "SELECT * INTO impテーブル名 " & _ "FROM [ODBC;DRIVER={Microsoft ODBC for Oracle};" & _ "SERVER=" & orSorc & ";" & _ "UID=" & orUsrID & ";" & _ "PWD=" & orPswd & "].expテーブル名" ※ Oracleは10g/11gのバージョンが存在するためODPは使用しません

  • オラクルにて

    オラクルにて オラクルデータベースへ新規テーブルをエクセルからインポートしようと していますが、その中で、●の記号(マーク)しかないフィールドがあり、 このデータ型は何にあたるか教えて頂きたく、もしかしたらこの記号は オラクルへ移行出来ないのかも知れないと思ってもいますが、 ご回答下さいます様宜しくお願い致します。

  • ORACLE SQL 教えてください。

    オラクルSQLの初心者です。 (1)のテーブルから (2)のテーブルを作成する方法はありますか?教えて下さい。 (2)のテーブルを元に他のテーブルの色々な値を取得したいです。 (1) TEMP1 -------------------------- CODE YEAR_START YEAR_END --------------------------  01    08        11  02    08        09  03    11        11 (2) TEMP2 --------------------- CODE YEAR ---------------------  01   08  01   09  01   10  01   11  02   08  02   09  03   11

  • Oracleのトリガーについて

    Oracleのトリガーについて質問です。 旧システムから新システムへデータ移行を行おうとしているのですが、 新システムではNEWテーブル(仮名)が新規で追加されています。 データ移行の方法として、旧システムのダンプファイルをエクスポートし、 新ステムにユーザを再作成後インポートしました。 その後、あらかじめ新システムでNEWテーブルのみテーブル指定のエク スポートを行っていたダンプファイルより、追加でインポートを行いました。 これでデータ移行完了と思っていたのですが、NEWテーブルのデータはトリガー により生成されるらしいのですが、どのタイミングで生成されるのでしょうか? データ移行完了時はデータ0件です。 NEWテーブルをインポートする順番が逆なのでしょうか? それともインポートではトリガーは起動しないのでしょうか? または、トリガーの仕組みが消えている(?)のでしょうか? (納入先に行かないと確認できない状態なので実際のデータベースが確認できません…) Oracleはあまり詳しくないため、わかりづらい質問かもしれませんが よろしくおねがいします。 【環境】 Oracle11g R2 Windows2008Server

  • 「テーブルリンク」なのか「インポート」なのか?

    アプリケーション(1).mdb アプリケーション(2).mdb アプリケーション(3).mdb と3つの空のデータベースを用意しました。 (1).mdbに新規テーブルを作成し、保存します。 (2).mdbを開いて、「テーブルのリンク」で(1).mdbのテーブルをリンクしました。 (3).mdbを開いて、「テーブルのリンク」で(2).mdbを接続した時に、先ほどリンクしたテーブル(1→2)は表示されません。 しかし、「インポート」にすると(2).mdbの(1→2)へリンクしているテーブルを(2→3)へリンクすることができました。 結果的にはこれは、「インポート」ではなく「テーブルリンク」ですよね? (1).mdbでテーブルのデータを追加して保存し、(3).mdbで確認すると、ちゃんとデータが更新されています。 よくわからなくなってきました。 これは「インポート」なのでしょうか? 「テーブルリンク」なのでしょうか? よろしくお願いします。

  • オラクルからAccessにデータ追加

    オラクルから、必要なデータを抜出し加工の為のDBをAccessで作成していますが、オラクルから抜き出したデータ(レコードセット)を、どうやってAccessのテーブルに書き込めばよいかがわかりません。 ◎環境 Oracle:10g Access:2010 ◎現在の状況 Dim CON As New ADODB.Connection Dim RS As ADODB.Recordset Dim SQL As String Dim i As Integer 'DB接続定義 CON.Open "DSN=DNS名;UID=ユーザー名;PWD=パスワード;" 'SQL文 SQL = "SELECT " SQL = SQL & "カラム1," SQL = SQL & "カラム2," SQL = SQL & "カラム3" SQL = SQL & "FROM オラクルテーブル名 " SQL = SQL & "WHERE 抽出条件 " SQL = SQL & "AND 抽出条件" SQL = SQL & "GROUP BY カラム" SET RS = CON.EXCUTE(SQL) For i = 1 To 10 Debug.Print rs(カラム1) & rs(カラム2) next i ここまでは、オラクルのテーブルから、レコードセットにデータが取り込まれてます。 rs.close: SET RS = Nothing con.close:SET CON=Nothing end sub 案1 レコードセットのデータを、Access側のテーブルにループで回して、1行ずつデータ追加 案2 INTO句で直接、テーブル作成 調べていて、2通りのやり方があると思うのですが、どちらにしても、テーブルへの書き込み方がわかりません。 案1の場合、Access側のテーブルを開いてデータ追加する方法 ※同時に2つのテーブルを開くことになるのでは? 案2の場合、SQL文はオラクルで処理する為の物なので、AccessテーブルのINTO句が使えるのか? オラクルのテーブルをリンクする事も考えたのですが、実際動かすPCにはAccessRuntimeしかインストールしてませんので、オラクルのテーブルをリンクしてくれませんでした。 よい方法があれば、アドバイスを頂けたら幸いです。

  • テーブルのエクスポート・インポート

    SQL Server2005 を使用しています。 テーブルのインポート・エクスポートに関して質問があります。 今まで、Oracleを主に使用していて、「EXP」「IMP」コマンドを使用して DMPファイルを介して別PCのデータベース間でテーブルのやり取りをしていました。(DB上のテーブルすべてや特定のテーブルのみなど) 同様のことをSQL Serverで実現したく下記を試したのですが上手くいきません。 1.Management Studio で「タスク」→「データのインポート(エクスポート)」   フラットファイル、Excel、MDBファイルなど試したのですが、   これらの中間ファイルを介した際にデータ型が変わってしまい   元の型のまま戻せない。   Oracleの「DMP」ファイルのようなものには落とせないのでしょうか? 2.「bcp」コマンド   これに関しては、複雑でよくわかりませんでした。   もし、このコマンドで実現可能であれば、やり方を教えて下さると   助かります。 以上、ながなが書きましたが宜しくお願い致します。

専門家に質問してみよう