私は一度もmysqlを使用しませんでしたが、私の最近の仕事の1つでは、MySQL DBに接続するDBリンクを使用してOracleにテーブルを作成する必要があります。MySQLのTEXTデータ型を持つテーブルがOracleにコピーされない
私がコピーするテーブルには、私は私がしようとした
Error report - SQL Error: ORA-00997: ugyldig bruk av datatypen LONG
00997. 00000 - "illegal use of LONG datatype"
*Cause:
*Action:
エラー、次の取得このコマンドに
create table test_table
as
select * from <MYSQL_TABLE>@DBLINK;
を発射しようとするオラクルから
TEXTなどのデータ型を持つ列を持っていますテーブルの作成中にto_char()関数を使用する
create table test_table
as
select to_char(col_with_TEXT_datatype) from <MYSQL_TABLE>@DBLINK;
それは、誰かがどのように私は、Oracleでこのテーブルを作成することができます教えてもらえます、次のエラーに
ORA-00932: inkonsekvente datatyper: forventet CHAR, fikk LONG
00932. 00000 - "inconsistent datatypes: expected %s got %s"
*Cause:
*Action:
を与えます。
このアクティビティは1回限りのアクティビティではありません。このテーブルの作成は、手順による週単位のジョブスケジュールの一部になります。したがって、これはcreate table文だけを使って達成する必要があります。
ありがとうございます。
私は自分自身にアクセス権がないので、DBAにこれを行うように頼んだことがあります。 CAST(col AS CHAR(1024))を使用しています。しかし、それはまだTEXTとして現れています。何か不足していますか? –
512文字を超えるサイズを使用すると、列の種類はvarcharではなくテキスト型になります。私はこれを私の答えで言及するのを忘れて、これを追加します。 – martinw