Oracle で日本語を取り扱うときの文字コード オラクルの CHAR および VARCHAR2 などに分類される標準文字列型で使用される文字コードを Database Characterset と呼び、 NCHAR および NVARCHAR2 などの各国語文字列型で使用される文字コードを National Characterset と呼ぶ。 マルチバイト・キャラクタセット(ダブルバイト・キャラクタセット) 日本を含むアジア圏などにおいて使用されるキャラクタセットは、文字種が多く 1 バイトでは表現不可能なため 2バイト以上で表現されている。 一般的に全角文字=マルチバイト・キャラクタと話していることも多いが厳密には間違いとなる。 (それで誤解した(された)ことは無く、問題になったこともないので大丈夫かと思う) 以下は日本語をサポートするキャラクタセットの代表的なもの 英数字、スペース,記
(※1) Oracle 11g から OFA 推奨の傾向が強くなり ORACLE_BASE から ORACLE_HOME が導出されるなどの変化がおきているので要注意。 (※2) インストール時には Universal Installer が必要な環境変数を自動で補完するので環境変数を設定せずにインストール作業を行なう。 (過去の記憶では…既にに環境変数が設定してあるとインストーラによるデフォルト値よりも環境変数を優先して採用していたと思うので気をつけて) Windows の場合には環境変数はレジストリに設定されているために改めてコントロールパネルなどから設定する必要はない。 特に、別途設定したい場合にはコントロールパネル「システム」プロパティの「詳細」タブの環境変数で上書きするか、レジストリを直接変更する方法がある。 環境変数の再読み込みは、すべてのプログラムに即座に反映されるものではな
NLS_LANGFAQ FAQを使用して、興味のある項目へ簡単にナビゲートできます。 NLS_LANGパラメータの基本動作を理解するために、「NLS_LANGパラメータの基本」の項から始めることをお薦めします。 NLS_LANGパラメータの基本 NLS_LANGに関する誤った理解 NLS_LANGの既存設定の確認 NLS_LANGに関連するNLSパラメータの優先度 セッション・パラメータ インスタンス・パラメータ データベース・パラメータ NLS_LANGの間違ったセットアップ例 NLS_LANGの正しい設定方法(UNIX) NLS_LANGの正しい設定方法(WindowsおよびDOSのコード・ページ) WindowsでのNLS_LANGの設定場所 Windows ANSIコード・ページの決定 Windowsのコマンドライン操作での正しいNLS_LANG Windowsのレジストリで使用す
先日 Windows Server 2008 R2 にインストールした Oracle 10g (10.2.0.5) に、SQLPlus からアクセスしたところ・・・、日本語が文字化けしてるじゃないですか! 症状としては、全角の文字が全て '?' で表示されるというもので、サンプルとしては以下のような感じでした。 C:\> sqlplus /nolog SQL*Plus: Release 10.2.0.5.0 - Production on Tue Apr 1 10:00:00 2014 Copyright (c) 1982, 2010, Oracle. All Rights Reserved. SQL> connect / as sysdba ???????? SQL> う~ん、これでは何が何やらで作業ができませんがな。というわけで、対処法をメモメモです φ(..)。 なお、こうなってしま
シノニム シノニムとは、ある スキーマオブジェクト、非スキーマオブジェクト へのエイリアス(別名)である。 主にセキュリティや別スキーマ(リモート含む)オブジェクトに対して透過的にアクセスするために使用される。 プライベート・シノニム プライベート・シノニムとは、ある特定ユーザーだけに所有された別名である。 シノニムを使用する基本的かつ有効で代表的な利用方法のひとつに、表のオーナ(管理者)とユーザー(閲覧者)を切り分ける、または、複数ユーザーでスキーマを共有するという使用方法がある。 切り分ける場合の例として、表の管理者(ADMIN)、閲覧者=プログラム(WORKER) と二つのユーザー(スキーマ)を用意し、表の所有者は ADMIN とする。 所有者を ADMIN とすることで WORKER には特別な権限を付与しないかぎり ADMIN の表にはアクセスできない。 ここでのポイントは WO
環境 Windows 7(x64) Oracle Client 11.2.0.2(x64) Oracle DataAccess Component 11.2.0.3(x64) Visual Studio 2010 Entity Framework 4.3.1 現象 Windows XP(x32)環境でビルドしていたODP.NET利用のWebアプリ(プラットフォームターゲット Any CPU)ビルド時、以下のエラーが発生。発生個所は edmx ファイル。 エラー175:指定されたストア プロバイダが構成内に見つからないか、無効です 英語だと、 error 175: the specified store provider cannot be found 調査 英語で調べてみると Entiry Framework の Issue に上がってました。現時点では対応されていないようですね。 Ent
Windows 7 ProfessionalでSQL Developerを使う場合の注意点をメモします。 Oracleのバージョンは11g R2でJDKは7を使っています。 SQL Developerをインストールして初めて起動する際、以下のようにjava.exeのパスを聞かれます。 ここに64bit版JDKのjava.exeを指定すると Unable to find a Java Virtual Machine. To point to a location of a Java Virtual Machine, please refer to the Oracle9i JDeveloper Install Guide (jdev\html) というアラートが表示され、起動できません。 その後、再度起動しようとしたら、今度はjava.exeのパスを指定するダイアログが表示されずに、 同じア
I'm using Oracle provider for Entity framework (beta), and I'm facing a problem. Our tables have Id columns, which are set to be Identity in StoreGeneratedPattern. I thought that EF will automatically do "underlying works", such as create sequences, and get new identity for each record I add to the table. But when I run code to add a new record, such as: var comment = new Comment { ComplaintId = _
2014-12-17 追記 この記事書いたとき、OracleとEFのバージョン書いてなくてアレなのですが、 Oracle は 11gR2だったかと思います。 ちなみに、12cだとカラムのデフォルト値にシーケンスを指定できるようになりました。 Oracleでデフォルト値にシーケンスを設定したい | Siguniang's Blog 完全に余談ですが、このとき自分が何考えて書いたのかわからないのですが、別にTriggerでもいいよなあ。4年前くらいに書いたものだと思ってたけど、意外と最近でびっくり。考え方変わるもんだなあ。 EFも進化しているし、ソフトウェア技術進歩早いのでバージョン書かないと何の役にも立たないなと改めて思いました。気をつけます。 追記ここまで column のプロパティを StoreGeneratedPattern="Identity" にして、 Oracle の Trigg
Oracleデータベースでのデータ移行といえば、export/importツールが昔からありましたが、バージョン11gからはサポートされなくなったそうです。代わりに、Oracle Data Pumpというユーティリティが推奨されるようになりました。 オリジナルのエクスポートは、Oracle Database 11gからは原則としてサポートされなくなりました。(中略)オリジナルのエクスポートおよびインポートが必要な次の場合を除いて、データ・ポンプ・エクスポートおよびインポート・ユーティリティを使用することをお薦めします。 オリジナルのエクスポート ここでは、Oracle Data Pumpを使って、あるサーバのスキーマのデータを、別のサーバのスキーマに移行する手順についてメモします。 公式マニュアルを読めばできることですが、途中でいくつかミスをしてハマって、夜中に色々調べる羽目になったので、
Oracle DB へのインポート インポートとは、簡単に言うと「データベースに外部ファイルからデータを登録すること」。 Oracle DB へインポートを行う際、 datapump ユーティリティを使用するのが一般的。 実行する際は、エクスポート時に出力した dmp (ダンプファイル)がインプットとなる。 対象は業務データそのものだけではなく、メタデータ(データディクショナリで管理される定義情報)も扱える。 旧 imp コマンドに比べはるかに高速になり、対象データ単位やインポート時の変更など、 オプション・パラメータを使い分けることで柔軟な対応が可能となっている。 例えば、impdp でデータのみを対象とする(content=data_only)、事前に既存データを削除する(table_exists_action=truncate)などが良く使われるオプション。 また、スキーマの変更(r
探せば出てきますが念のため・・・ ODP.NET(Oracle.DataAccess.dll)の64bit版を使って、VisualStudioでWebアプリケーションを作る際に 以下の3つのことに注意すべし。 #ビルドプラットフォームをx64にすること Any CPUだとAMD64なんたらかんたらと出て怒られます。必ずx64でコンパイルしましょう。 32bitのOracle.DataAccess.dllならばx86を設定しましょう。 #WebサーバーはIIS Expressを使用すること デフォルトのプロジェクト設定ではVisualStudio内蔵の開発サーバーを立ち上げてデバックされます。 しかし内蔵サーバーは32bit空間で起動するため、「Oracle.DataAccess.dllが見つかりません」のようなエラーが出て動きません。 必ず、IIS Webサーバー(IIS Express)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く