問題タブ [nls-lang]
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.
windows - Windows 7 で Oracle 11g ODBC クライアントの NLS_CHARACTERSET 設定を変更する方法
Oracle データベースから Windows 7 PC の MS Access または Excel にデータを取得しようとしています。データには、度記号や直径記号などの文字が含まれます。PCでは正しく表示されません。クエリで dump 関数を使用してデータが正しく保存されていること、およびクライアントの文字セットに変換されていないことがわかります。
このクエリを見て、さらに でデータベース パラメータをクエリするとSELECT * FROM NLS_database_PARAMETERS
、NLS_CHARACTERSET = US7ASCII
. この文字セットには直径記号などが含まれていないため、これが問題の原因であると思います。
しかし、レジストリをチェックして、NLS_LANG が何に設定されているかを確認しましたENGLISH_UNITED KINGDOM.WE8MSWIN1252
。GERMAN_GERMANY
言語/地域を (たとえば) 変更するとクエリが変更される ため、正しいレジストリ キーを探していることがわかります。
この設定をオーバーライドしている環境変数も確認しましたが、見つかりませんでした。上記と同じ設定で NLS_LANG 環境変数を作成しようとしましたが、違いはありませんでした。
私の Windows コード ページは 1252 に設定されています。データベースのNLS_NCHAR_CHARACTERSET
設定はAL16UTF16
です。
次に何をすべきかについてのアイデアはありますか?
sql - Oracle で曜日を名前で検証する
曜日の文字列表現 (つまり、 Monday、Mardi、الثلاثاءなど) と NLS_DATE_LANGUAGE が与えられた場合、この曜日が有効であることを検証する方法はありますか?
なぜこれが難しいのですか?これが単なる英語である場合、次のようなことを行うのは明らかです。
私はこれをいくつかの国で拡張的に実行しようとしていますが、現在および将来のすべての NLS_DATE_LANGUAGE のすべての曜日を書き出すことを知らない (そして気にすることができない) ため、これは実際にはオプションではありません。 .
次のオプションは explicitTO_DATE()
で、金曜日とうまく機能します。これは 5 月なので偶然だと思いますが、残りの週では惨めに失敗します。
これは興味深いエラーです...オラクルは次のことを推奨しています:
日付指定から曜日の値を削除するか、ユリウス日付の正しい曜日を入力してください。
曜日を削除することは、私が興味を持っているのはそれだけであり、ユリウス日がないため、ユリウス日に対して間違った曜日がないため、実際にはオプションではありません。
他の場所で提案されている回避策を確認し、別の日付形式 ( Dy
、dy
、FMDy
など) を使用すると、明らかに同じエラーが発生します。
オラクルは内部的にすべての日付をユリウス日として表しているように見え、この状況では混乱しています。
Oracle で指定された日が正しいことを確認するにはどうすればよいですか?
sql - Oracle で英語以外の文字が表示されない行の一部
dbの文字セットは
「WE8MSWIN1252」
「NLS_LANG」をに設定したbatファイルを介して行を挿入しています
".WE8MSWIN1252"
. 挿入の最後に、SQL Developerの一部の行には特定の文字が表示され、一部の行には表示されません。
oracle - Oracle NLS_Lang 環境の変更
省略された文字列を含む日付の文字列をフォーマットする必要があります。私が試した:
動作しません。オラクルの NLS パラメータがフランス語に設定されているためだと考えました。理由はわかりません。
もちろん、私はフランス語の変換をテストしました:
これは機能します。次に、短縮版を試しました。
これは機能しません。
とにかく、私は英語の変換に興味があるので、NLS をフランス語から英語に切り替えることから始めるべきです。それ、どうやったら出来るの?このリンクから次の手順に従いました: http://docs.oracle.com/cd/E12102_01/books/AnyInstAdm784/AnyInstAdmPreInstall18.htmlが、成功しませんでした。何か案が?
oracle - オラクルの日付形式の問題
フォームとレポートの作成には、 Oracle10.2.0.4.0
データベース、Oracle フォーム ビルダー、およびレポート ビルダーを使用します。
問題は本番データベースにあります nls_date_format は dd-mon-rr 形式です。開発者が開発者スーツでフォームを作成すると、フォームレベルで dd-mm-rr 形式が与えられ、テーブルにデータが保存されている場合、その日付形式はdd-mm-rr
.
開発者がフォーム ビルダー内でフォームまたはレポートを実行すると、dd-mm-rr 形式になりますが、アプリケーション サーバー側から同じフォームまたはレポートを実行すると、月にジャンク文字が表示されます。文字。
どうか皆さんがうまく導きますように。
sql - NLS_NUMERIC_CHARACTERS の小数点区切りカンマの SQL クエリを挿入/更新します。
ORACLE SQL クエリを文字列形式で渡す必要がある一括挿入/更新クエリを作成する必要がありますが、Delphi での SQL クエリ文字列の解析にパフォーマンスの問題があるため、パラメータ化されたクエリを使用できません。
私の懸念は、これらのクエリを作成して float 値を渡すときに、データベースの NLS_NUMERIC_CHARACTERS を気にする必要があるかということです。今のところ、クエリを次のように渡しています。
代わりに NLS_NUMERIC_CHARACTERS の値を読み取ってから、小数点記号が「,」の場合、次の一括クエリを実行する必要がありますか?それとも、これは DB サーバーによって処理されますか?
SQL サーバーの実装はどのようにする必要がありますか?
oracle - Weblogic データソースからアクセスすると NLS_NUMERIC_CHARACTERS がリセットされる
特定のコードに問題があり、根本的な原因はセッション レベルでの NLS_NUMERIC_CHARACTERS 設定であることが判明しました。
データベースで直接クエリを実行すると:
しかし、weblogic データソースからこの同じクエリを実行すると
セッション値が間違っていて、weblogic データソース経由でアクセスしたときに何らかのトリガー/スクリプトによってリセットされています。weblogic スタートアップ スクリプトなどをチェックして、どこかでリセットするかどうかを確認しましたが、助けはありませんでした。
誰かが同様の問題に直面した場合、この方向の指針/アイデアは大歓迎です。
sql - オラクルの「¿」(逆疑問符)文字
データベース テーブルで、単一引用符 ( ) 文字¿
の代わりに " " 文字 (逆疑問符)を見つけました。'
このキャラクターをテーブルから避ける方法を教えてください。
この文字を含むテキストを含む行は多数ありますが、すべての一重引用符がこの ¿ 記号になっているわけではありません。
行をフィルタリングして、この文字 (¿) を単一引用符で更新することさえできません。
Like "%¿%" を使用すると、通常の疑問符 (?) を含むテキストがフィルタリングされます