ORACLE TECHNOLOGY NETWORK
 
 
   

Oracle Technology Network (OTN) Japan - 掲示板 » データベース(R/O) » Oracle9iデータベースの部屋(読取専用)

スレッド: SQLサーバのテーブルからORACLE9iのテーブルへの移行方法について

このスレッドに返信する このスレッドに返信する スレッド一覧へ スレッド一覧へ

Permlink 返信数: 10 - ページ数: 1 - 最新投稿 : 2004/07/21 20:37 最新投稿者: SnowMan - スレッド表示形式:
930097

投稿数: 10
登録日時: 04/07/20


SQLサーバのテーブルからORACLE9iのテーブルへの移行方法について
投稿時刻: 2004/07/21 9:02
  このスレッドに返信します… 返信

SQLのテーブルの項目にメモ型がない場合は、
フリーソフトのImporterBee というソフトでsqlのテーブルをcsvに落とし、
そのソフトでoracleにアップしています。

メモ型がある場合は改行マークがあるため、どうするのがいいかわかりません。

SQLでメモ型の項目は ORACLEでは NCLOB型で定義しようと考えています。

どなたか移行の考え方、進め方をご教授願えないでしょうか

oraoraora

投稿数: 2,961
登録日時: 00/12/14


RE:SQLサーバのテーブルからORACLE9iのテーブルへの移行方法について
投稿時刻: 2004/07/21 9:13   930097 さんへの返信です。 930097 さんへの返信です。
  このスレッドに返信します… 返信

>SQLのテーブルの項目にメモ型がない場合は、
>フリーソフトのImporterBee というソフトでsqlのテーブルをcsvに落とし、
>そのソフトでoracleにアップしています。
>
>メモ型がある場合は改行マークがあるため、どうするのがいいかわかりませ
ん。
>
>SQLでメモ型の項目は ORACLEでは NCLOB型で定義しようと考えています。
>
>どなたか移行の考え方、進め方をご教授願えないでしょうか
フリーソフトでの移行はトラブルが起きたときすべて
自己責任となります。
 一般的に移行の場合改行マークがある場合などは、
CSV移行は困難なケースが多いです。
 SQLServerのODBC+OGCを使えば、Oracleから見れば
SQLServerをデータベースリンク経由の別サーバとみなすことができます。
 SQLServerデータ型-ODBCデータ型-Oracleデータ型
と型変換をすべて自動化することができるのでこちらを
利用されたらいかがでしょうか?

<参照code>
http://otn.oracle.co.jp/otn_pl/otn_tool/code_detail?n_code_id=542

Tipo

投稿数: 3,713
登録日時: 00/03/02


RE:SQLサーバのテーブルからORACLE9iのテーブルへの移行方法について
投稿時刻: 2004/07/21 9:50   930097 さんへの返信です。 930097 さんへの返信です。
  このスレッドに返信します… 返信

>メモ型がある場合は改行マークがあるため、どうするのがいいかわかりません。

SQL*Loader でロード可能なデータ形式に従って出力し、
適切に設定すれば改行を含むデータでもロードできます。

>SQLでメモ型の項目は ORACLEでは NCLOB型で定義しようと考えています。

改行有り無しに関係なく
4000文字までなら VARCHAR2
4000文字以上なら CLOB
で定義することになりますね。

930097

投稿数: 10
登録日時: 04/07/20


RE[1]:SQLサーバのテーブルからORACLE9iのテーブルへの移行
投稿時刻: 2004/07/21 10:03   Tipo さんへの返信です。 Tipo さんへの返信です。
  このスレッドに返信します… 返信

>>メモ型がある場合は改行マークがあるため、どうするのがいいかわかりません。
>
>SQL*Loader でロード可能なデータ形式に従って出力し、
>適切に設定すれば改行を含むデータでもロードできます。
>
>>SQLでメモ型の項目は ORACLEでは NCLOB型で定義しようと考えています。
>
>改行有り無しに関係なく
>4000文字までなら VARCHAR2
>4000文字以上なら CLOB
>で定義することになりますね。

先日までSQLサーバー ACCESSのみを使っていた初心者です。
たいへん 恐縮なのですが
CLOB と NCLOB はどう違うのでしょう?
お恥ずかしいのでうが、 ご教授いただけると恐縮です。



oraoraora

投稿数: 2,961
登録日時: 00/12/14


RE[1]:SQLサーバのテーブルからORACLE9iのテーブルへの移行方法
投稿時刻: 2004/07/21 10:09   Tipo さんへの返信です。 Tipo さんへの返信です。
  このスレッドに返信します… 返信

>>メモ型がある場合は改行マークがあるため、どうするのがいいかわかりま
せん。
>
>SQL*Loader でロード可能なデータ形式に従って出力し、
>適切に設定すれば改行を含むデータでもロードできます。
>
>>SQLでメモ型の項目は ORACLEでは NCLOB型で定義しようと考えています。
>
>改行有り無しに関係なく
>4000文字までなら VARCHAR2
>4000文字以上なら CLOB
>で定義することになりますね。
NCLOBという言葉が出てきているため
多分2バイトコードが入っている列だと思います。
そのため正確には、
4000文字ではなく、4000byteでは?

sdtashenjie

投稿数: 1,841
登録日時: 02/10/19


RE[2]:SQLサーバのテーブルからORACLE9iのテーブルへの移行
投稿時刻: 2004/07/21 10:12   930097 さんへの返信です。 930097 さんへの返信です。
  このスレッドに返信します… 返信

>CLOB と NCLOB はどう違うのでしょう?
NをつけるのがUNICODEです。

sdtashenjie (*_*)

sdtashenjie

投稿数: 1,841
登録日時: 02/10/19


RE[2]:SQLサーバのテーブルからORACLE9iのテーブルへの移行方法
投稿時刻: 2004/07/21 10:16   oraoraora さんへの返信です。 oraoraora さんへの返信です。
  このスレッドに返信します… 返信

>>改行有り無しに関係なく
>>4000文字までなら VARCHAR2
>>4000文字以上なら CLOB
>>で定義することになりますね。
CLOB
シングルバイト・キャラクタを含むラージオブジェクト。
最大サイズは4ギガ。
NCLOB
固定幅マルチバイト・キャラクタを含むラージオブジェクト。
最大サイズは4ギガ。
http://www.sqlpowerpage.co.jp/plsql/lobgata.htmを参照してください。

sdtashenjie (*_*)




Tipo

投稿数: 3,713
登録日時: 00/03/02


RE[2]:SQLサーバのテーブルからORACLE9iのテーブルへの移行方法
投稿時刻: 2004/07/21 10:25   oraoraora さんへの返信です。 oraoraora さんへの返信です。
  このスレッドに返信します… 返信

>NCLOBという言葉が出てきているため
>多分2バイトコードが入っている列だと思います。
>そのため正確には、
> 4000文字ではなく、4000byteでは?

フォローありがとうございます!
そうですね、表現が間違っていました。

4000Byteまでなら VARCHAR2
4001Byte以上なら CLOB

が正しいです。


oraoraora

投稿数: 2,961
登録日時: 00/12/14


RE[3]:SQLサーバのテーブルからORACLE9iのテーブルへの移行
投稿時刻: 2004/07/21 10:38   sdtashenjie さんへの返信です。 sdtashenjie さんへの返信です。
  このスレッドに返信します… 返信

>>CLOB と NCLOB はどう違うのでしょう?
>NをつけるのがUNICODEです。
>
>sdtashenjie (*_*)
Nの意味はUNICODEではありませんよ。
固定幅マルチバイトを意味します。

ushitaki

投稿数: 7,079
登録日時: 98/10/30


RE[4]:SQLサーバのテーブルからORACLE9iのテーブルへの移行
投稿時刻: 2004/07/21 10:48   oraoraora さんへの返信です。 oraoraora さんへの返信です。
  このスレッドに返信します… 返信

>Nの意味はUNICODEではありませんよ。
>固定幅マルチバイトを意味します。

それこそ違います。

Nの意味は NATIONAL CHARACTER SET で CREATE DATABASE での
NATINAL CHARACTER SET と同じものしか使えません。
Oracle8iではシングルバイトもしくはダブルバイトなどの
固定長を指定しましたが Oracle9i以降では UNICODE です。

NATIONAL CHARACTER SET に Oracle8iでは固定長が指定されていなければ
Oracle9iでは UNICODE が指定されていなければ
NVARCHARやNCLOB も結果として使えないはずです。


SnowMan

投稿数: 3,517
登録日時: 98/01/06


RE:SQLサーバのテーブルからORACLE9iのテーブルへの移行方法について
投稿時刻: 2004/07/21 20:37   930097 さんへの返信です。 930097 さんへの返信です。
  このスレッドに返信します… 返信

こんにちは。

>どなたか移行の考え方、進め方をご教授願えないでしょうか

本題からは外れますが、
http://otn.oracle.co.jp/software/tech/migration/index.html
上記URLも何かの足しになるかもしれません。
--






ウェブサイトのご使用条件 | 個人情報保護基本方針/情報保護基本方針