問題タブ [clob]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1144 参照

oracle - ASCII コード範囲外の Unicode 文字が使用されている場合、NCLOB 値で sqlldr.exe を使用すると問題が発生する

sqlldr を使用して、LOB ファイルからのテキスト値を NCLOB 列に入力し、文字が通常の ASCII コード範囲にない場合、sqlldr 爆弾が発生します。


ログファイルから一見関連するセクション:


制御ファイルには

0 投票する
3 に答える
6862 参照

java - HibernateがLONGoverCLOBの使用に切り替えたのはなぜですか?

Hibernateは、のプロパティではLONGなく、バージョン3.5.5(3.2.7からアップグレード)でデータ型の使用を開始したようです。CLOBtype="text"

LONGOracleのデータ型は使用すべきではない古い古いデータ型(http://www.orafaq.com/wiki/LONGを参照)であり、テーブルに複数の列を含めることはできないため、LONGこれが問題を引き起こしています。データ型。

なぜこれが変更されたのか誰かが知っていますか?

SetBigStringTryClobOracleプロパティをtrueに設定しようとしました( Hibernate> CLOB> Oracle :(で提案されているように)が、データ型マッピングには影響せず、私の場合とは関係のないデータ転送内部のみに影響します。

org.hibernate.dialect.Oracle9iDialectこれに対する1つの可能な修正は、 :をオーバーライドすることです。

ただし、これが最後の手段です。このクラスをオーバーライドすることは、Hibernateをフォークすることに一歩近づきます。

なぜこれが行われたのか誰かが説明できますか?これはバグとして提起されるべきですか?

[更新]:https ://hibernate.atlassian.net/browse/HHH-5569を作成しました。どうなるか見てみましょう。

0 投票する
8 に答える
482722 参照

sql - OracleでCLOB列を照会する方法

CLOBデータ型であるいくつかの列を持つクエリを実行しようとしています。通常のようにクエリを実行すると、これらのフィールドはすべて(CLOB)値として保持されます。

)を使用してみDBMS_LOB.substr(columnましたが、エラーが発生します

CLOB列をクエリするにはどうすればよいですか?

0 投票する
2 に答える
11220 参照

sql - DB2:改行を含むCLOBを挿入する方法

私には簡単なことをしたいのですが、それでも試みて完了するのはとてもイライラします。私はこのようないくつかの値を取りたいだけです:

そして、それをフィールドに挿入しCLOB、DB2で改行を保持します。このステートメントのようなもの

a value with line breaks挿入されます。

0 投票する
2 に答える
4692 参照

php - VARCHAR2 とは異なる Oracle CLOB をプルしますか?

MySQL を使用すると、テキストの大きなブロックを TEXT 列に格納でき、他の列タイプと同じように問題なくプルできます。

OracleのCLOBで同じことをしようとすると、エラーが発生するようです。

ここに私が引っ張っているところがあります:

...そして、while() ループ内で $row を print_r() しようとすると、次のようになります。

...(クエリ内の他の列とともに)

CLOBS で何か特別なことをする必要がありますか、それとも構文が少しずれていますか。

ありがとう :)

0 投票する
1 に答える
5426 参照

java - DB2 CLOB フィールドへの大きなテキスト ファイルのアップロード

よし、私はしばらくこれで壁に頭をぶつけていたので、ここに行く...

現在、非常に大きな (200MB 以上) テキスト ファイルを DB2 CLOB 列にアップロードできる Java (1.5) プログラムを作成していますが、いくつかの問題が発生しています。

調査中にいくつかのコード例から、PreparedStatement メソッドsetCharacterStream()を使用してデータを CLOB フィールドにアップロードすることが提案され、次のようになりました。

setCharacterStream()メソッドがフィールドに書き込む文字数を指定する LENGTH 値を必要とするという事実を除いて、これは問題ありません。これを念頭に置いて、これは CLOB フィールドに書き込むことができる文字数を に制限しInteger.MAX_VALUEます。少し計算すると、アップロードできるテキスト ファイルのサイズは 524288 バイト、つまり約半分のメガバイトに制限されます。CLOB フィールドには最大 2GB のデータを格納できるため、少し混乱しています。

Java 1.6 では、PreparedStatement のsetCharacterStream()メソッドが長さを必要としないように変更されており、ファイルの終わりに到達するまで読み取ります。残念ながら、Java 1.5 を使用する必要があるため、これは有効なオプションではありません。

最後の調査で、Java 1.5 の PreparedStatement にも同様の機能があることを読みました。ここで、Javadoc は次のように主張しています。

「... java.io.Reader オブジェクト経由で送信する方が実用的かもしれません。データは、ファイルの終わりに到達するまで、必要に応じてストリームから読み取られます。」

setCharacterStream()これが存在する場合、メソッドがまだ長さパラメーターを必要とするのはなぜですか? この機能を使用するには、長さパラメーターに何を渡しますか? 私が見逃しているこれを行うためのより良い方法はありますか?

何かご意見は?

0 投票する
1 に答える
934 参照

php - PHP PDO を使用したブラウザー画面での Informix clob またはテキストの出力

データベース クエリから CLOB または Informix 型の TEXT 結果 (テキスト) を取得していますが、それを出力する方法がわかりません。

  • 結果はecho $tmpリソース ID #47 になります。
  • Avar_dump($tmp)はタイプ (ストリーム) のリソース (47) になります。
  • Anfpassthru($tmp)は表示を空白のままにします。
  • PDO::PARAM_STR を 3 番目のバインド パラメータとして使用しようとしても、表示は空白のままです。

そのため、CLOB にあるテキストを取得する方法がわかりません (MB ではなく数 KB です)。何か案は?

0 投票する
1 に答える
2358 参照

java - SetBigStringTryClobを使用してOracleJDBCでCLOBを処理する場合のパフォーマンスへの影響

OracleデータベースでCLOBを処理するための古いJava/JDBCコードを確認中です。既存のコードは、この質問で述べたアプローチと同様のアプローチを使用しています。

私は次のような記事を見つけました:

Oracle JDBC 10gより前は、JDBCのCLOBデータを操作するために、Oracle拡張クラスoracle.sql.CLOBが使用されていました。しかし現在、Oracle JDBC 10gには、JDBCアプリケーションでのCLOB操作を簡素化するいくつかの機能拡張があります。これにより、Oracle拡張クラスを使用する代わりに、使用可能な標準APIの一部を使用して大規模なデータを処理できます。

この記事では、この拡張機能の詳細について次の情報を提供しています。

デフォルトでは、メソッドpreparedStatement.setString()は、最大32765バイトの文字列の処理を許可します。32765バイトを超えるデータを挿入するために、新しく導入されたConnectionプロパティであるSetBigStringTryClobを設定できます。これにより、preparedStatement.setString()は、代わりに、新しく導入された別のメソッドOraclePreparedStatement.setStringForClob()を使用するように強制されます。

ただし、次のように警告します。

...この方法で非常に大量のデータを処理することは賢明ではないかもしれません。データのストリーミングは、より良い代替手段です。

しかし、上記はその記事の唯一のパフォーマンス関連の警告です。私の質問は、コード内のすべてのCLOBアクセスがすでにStringオブジェクトを介して行われている場合、このアプローチの変更によって引き起こされる可能性のある他の潜在的なパフォーマンスの問題について心配する必要があるかどうかです。言い換えると、私のアプリはストリーミングによって提供される利点を使用していません。これは、すでにStringオブジェクトにCLOBをロードしているため、現時点ではパフォーマンスの向上を目的としていないため、上記の警告は無視できる可能性があります。この手法に切り替えることで発生する可能性のある他のパフォーマンス関連の問題はありますか?

0 投票する
2 に答える
1371 参照

c# - C# を使用して Oracle Clob データを csv にエクスポートするための提案

Oracle clob データ フィールドを csv ファイルにエクスポートする方法を教えてください。テーブルには、他の通常のデータ型も含まれています。また、CLOB データが csv に収まらない場合、利用可能な他のオプションは何ですか?

ありがとう、ナビーン

0 投票する
17 に答える
145660 参照

java - createClob() メソッドとしてコンテキスト LOB 作成を無効にすると、エラーがスローされる

Oracle 10g で Hibernate 3.5.6 を使用しています。初期化中に以下の例外が発生していますが、アプリケーション自体は正常に動作しています。この例外の原因は何ですか? どのように修正できますか?

メソッド
としてコンテキスト LOB の作成を無効にすると例外がエラーをスローしました:createClob()java.lang.reflect.InvocationTargetException

情報
Oracle バージョン: Oracle Database 10g Enterprise Edition リリース 10.2.0.4.0 JDBC ドライバー: Oracle JDBC ドライバー、バージョン: 11.1.0.7.0