sql >> データベース >  >> RDS >> Oracle

DG4ODBCのOracle言語パラメータの設定

    このドキュメントでは、お客様からの問い合わせに応えて、HS_LANGUAGEを設定する方法について説明します。 およびHS_NLS_NCHAR DG4ODBCを使用する場合のパラメータ。

    SQL ServerODBCドライバーなどのUnicodeODBCドライバーを使用している場合は、これらのパラメーターと値がDG4ODBC初期化ファイルに存在することを確認してください。

    HS_LANGUAGE = language_territory.code_page
    HS_NLS_NCHAR = UCS2
    

    languageを置き換えます 、テリトリー およびcode_page データベースの言語、ロケール、およびコードページに対応するOracle®の言語、地域、およびコードページを使用します。

    たとえば、データベースがSQL Serverであり、その言語とコードページがEnglish (United States)である場合 および1252HS_LANGUAGE パラメータは次のようになります:

    HS_LANGUAGE = ENGLISH_AMERICA.WE8MSWIN1252
    

    HS_NLS_NCHAR パラメータ値は、UCS-2でエンコードされたデータをUnicode ODBC APIに渡すようにDG4ODBCに指示します。これは、ODBC標準状態をエンコードする文字を使用する必要があるため、unixODBCDriverManagerが期待する文字です。

    NLS_LANGが設定されていることも確認してください Oracle®アプリケーションを起動する前に。 NLS_LANG Oracle®に、クライアントマシンが使用している文字セットを知らせます。例:

    $ echo $LANG
    en_US.UTF-8
    $ NLS_LANG=AMERICAN_AMERICA.AL32UTF8 ./sqlplus
    

    ANSI ODBCドライバー(ワイドODBC API呼び出しをサポートしない)を使用している場合は、HS_LANGUAGEで非UTF-8文字セットを指定する必要があります。 価値。たとえば、HS_LANGUAGE = AMERICAN_AMERICA.WE8ISO8859P1 。これを行わないと、Oracle®データベースのNLS_CHARACTERSET 値はUTF-8エンコーディングに設定されます(例:AL32UTF8) 、DG4ODBC:

    • Unicode ODBC APIを使用します(例:SQLDriverConnectW) 、unixODBC Driver Managerが同等のANSIにマップします(または、HS_FDS_SHAREABLE_NAMEの場合) パラメータがODBCドライバ共有オブジェクトを指しているため、「未定義のシンボル」エラーで接続が失敗します。
    • UTF-8でエンコードされたデータをODBCAPIに渡します。これは、unixODBCDriverManagerではサポートされていません。 DG4ODBCがUTF-8でエンコードされた接続文字列をSQLDriverConnectWに渡すため、接続が失敗します 、unixODBCDriverManagerでは処理できません。

    UnicodeODBCドライバー

    Unicode ODBCドライバーは、SQLxxxW形式のワイドODBCAPIをサポートします。 ODBCドライバーがワイドODBCAPIをサポートしているかどうかを確認するには、ドライバーベンダーに確認するか、ODBCドライバーロギングを有効にして、DG4ODBCに接続し、結果のログファイルを調べます。例:

    $ more /etc/odbc.ini
    [SQLSERVER_SAMPLE]
    .
    .
    .
    Logging=Yes
    LogFile=/tmp/mssql.log
    
    $ ./sqlplus / as sysdba
    $ select * from mytable@mssqllink;
    $ exit
    $ more /tmp/mssql.log
    .
    .
    .
    ENTRY:   SQLGetInfoW: connection_handle...

    1. コンポーネント全体をユーザーにインストールせずに、ODACを使用する.NETアプリケーションを展開するにはどうすればよいですか?

    2. PostgreSQLデータベースサービス

    3. 19.3PDBクローズORA-65107ORA-16078

    4. 2017年に最も人気のあるデータベースブログの投稿