問題タブ [nclob]

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 投票する
3 に答える
2546 参照

database - 列が varchar から nclob に変更されると、Oracle は全テーブル スキャンを開始します。

多かれ少なかれ次のように見える約100.000行のテーブルがあります。

国際文字のサポートを追加する際、ponies3000 (マルチバイト) 文字は nvarchar には大きすぎるため、列を nclob に再定義する必要がありました。

Java で準備済みステートメントを使用してテーブルから読み取ります。

「ponies」列が NCLOB に変更され、他のいくつかのテーブルが nchar 列を使用するように変更された後、Oracle 11g はid列のインデックスを使用する代わりに完全なテーブル スキャンを実行することを決定したため、アプリケーションが停止しました。

クエリにヒントを追加すると、インデックスが使用され、すべてが「問題なく」、または列が varchar の場合よりも少しだけ遅くなります。

次の接続プロパティを定義しました。

ところで、データベース統計が更新されます。

すべてのクエリを調べる時間がなかったので、他のインデックスが無視されているかどうかはわかりませんが、id が nchar ではないため、defaultNChar 設定がオプティマイザーを混乱させているのではないかと心配する必要はありますか? 事実上すべてのクエリにヒントを振りかけるか、すべてのキーを再定義するのはかなり厄介です。

または、「大きな」nclobがロードされるため、完全なテーブルスキャンは重要ではないと見なされます-その仮定は3桁ずれているようで、Oracleはそれよりも賢いと信じたいです。

それとも運が悪いだけ?または、他の何か?ヒントなしで修正できますか?

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

oracle10g - Oracle 11g の改行の処理が 10g とは異なる

Oracle 11g データベースにアクセスする Web サービス (クローズド ソース) があります。最近、10g から 11g にアップグレードされました。レコードを返します。列の 1 つは NCLOB 型です。Web サービスに送信される文字列には、Windows の改行、\r\n が含まれる場合があります。残念ながら、DB から送受信されるデータを操作するために Web サービスが何をしていたのかはわかりません。

10g では、NCLOB 列から返される文字列はビッグ エンディアン Unicode であり、すべての '\r' が削除されたため、新しい行は \n として返されました。

11g では、NCLOB から返される文字列は ASCII エンコードされ、すべての '\r' が'\n' に置き換えられたため、新しい行は \n\n として返されます。

これは合理的に思えますか?正直なところ、Oracle の改行の問題 (10g の動作) をしばらく処理してきましたが、これは 11g にアップグレードした結果であると確信しています。改行またはエスケープ文字シーケンスのストレージまたは NCLOB データ型に関連する、10g と 11g の違いに関する情報を持っている人はいますか? 私はここでダメージコントロールを行おうとしており、Oracle 11g を指摘していますが、いくつかの証拠が必要です。

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

database - Oracle nclobフィールド:改行(またはキャリッジリターン)文字を削除します

タイプNCLOBのOracleデータベースに情報があり、改行文字を削除したいと思います。たとえば、これは機能しません。

以下に答えはありますか?はい、はい、そうです!

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

xml - Oracle データベースから NCLOB XML データを取得する方法

Java ベースのアプリケーションを使用して、Oracle データベースに書き込まれる XML ファイルをデプロイします。データベース内の XML BLOB は、NCLOB データ型として格納されます。データベースから NCLOB XML データを取得して XML 形式に戻すにはどうすればよいですか? Java を使用する必要がありますか (私は完全な Java 初心者です)、またはここで PowerShell を使用できますか (私の好み)? また、方法によっては、これをどのように行うのでしょうか?

私がこれを行いたい理由は、主に展開前/展開後の検証 (展開前と展開後の XML コンテンツを比較する) のためです。

前もってありがとう、キース

0 投票する
6 に答える
130443 参照

oracle - エラー:ORA-01704:文字列リテラルが長すぎます

データ型のフィールドに4000文字を超える値を設定しようとすると、次のCLOBエラーが発生します。

ORA-01704:文字列リテラルが長すぎます。

無制限の文字の値を設定する必要がある場合、どのデータ型が適用できるかについての提案はありますが、私の場合は、たまたま文字数です15000

注:保存しようとしている長い文字列は、ANSIでエンコードされています。

0 投票する
0 に答える
308 参照

oracle - オラクルのhtmlへのnclobデータのトルコ文字デコード

oracleplsql開発者のエディタにnclobデータが表示されます。

しかし、私はこれをにデコードしたい

私のSQLクエリは次のようなものです:

クエリを変更して、真のデコードとして結果を得るにはどうすればよいですか。

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

oracle - トルコ語の文字は、nclob フィールドの oracle select の後に数値コードとして表示されます

データベースに NCLOB フィールドがあり、fck エディターを使用して作成したデータを保存するために使用しています。

この NCLOB フィールドから Oracle を選択すると、一部のトルコ文字が数値コードとして表示されます。例:Ç文字は になりÇます。

テキスト置換を使用せずにこれを解決するにはどうすればよいですか?

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

oracle - NCLOB で検索と置換を実行する方法

Oracle 11g データベースとテーブル内の NCLOB 列を使用して、テキストを別のテキストに置き換えようとしています。大まかに言えば、それは非常に単純です。私は SQL Server バージョンの SQL スクリプトで成功しましたが、Oracle では、主に NCLOB 列のデータの長さが 46k を簡単に超える可能性があるため、複雑になっています。

エラー ORA-22835 ( CLOB から CHAR または BLOB から RAW への変換にはバッファーが小さすぎます) が発生した場合、提案されているように、データが可変長であるため、アクションを実行できず、SUBSTR を使用してこのデータをチャンクすると、"検索文字列」をデータで検索します。

SQL スクリプトで使用できる簡単でシンプルなソリューションを探しています。

SQL Server で使用しているスクリプトの例を次に示します。

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

python - pypy には cx_Oracle 5.0.0 が同梱されています 5.1.2 が必要です

この質問に対する受け入れられた回答How to install/use cx_Oracle in PyPyは、 cx_Oracle を pypy にインストールするには、パラメーターを使用してコンパイルする必要があると述べてい--withmod-oracleます。そうする場合、cx_Oracle v. 5.0.0 を取得しています。

残念ながら、NCLOB がないため、django は実行されません。

私が必要としているのは、バージョン 5.1.2 の cx_Oracle です。どうすれば入手できますか?

Pypy wiki ( https://bitbucket.org/pypy/compatibility/wiki/cx_oracle ) によると、cx_Oracle はそれで動作します。しかし、私はその文から間違った結論を導き出していると思います: