Category Archives: Oracle

PHP Startup: Unable to load dynamic library

  XAMPP+Oracle+EclipseのPHP開発環境を構築した際、Oracle Instant Client経由でDBに接続しようとしたのだが、以下のエラーが発生し、Apacheが起動しなかった。 PHP Startup: Unable to load dynamic library ‘D:\java\xampp\php\ext\php_oci8.dll’ – %1は有効なWin32アプリケーションではありません。 色々調べてみた結果、XAMPPは32bit版なのに、Oracle Instant Clientは64bit版を使っていたことが原因だった。 Oracle Instant Clientを32bit版にしたところ、エラーは発生しなくなった。   PHPでociを使ってOracleに接続するための環境設定は、以下を参照。 XAMPP+Oracle+EclipseのPHP開発環境構築 http://www.cyberarchitect.net/blog/archives/1001

XAMPP+Oracle+EclipseのPHP開発環境構築

  Facebookアプリを作って遊ぼうと思い立ち、PHPの開発環境を作ることにした。 DBは、勝手知ったるOracleを使ってみる。 OSはWindows 7 Enterprise SP1(64bit)を使って環境構築したので、その時のメモ。 ※Oracleは構築済みの環境を利用。キャラクタセットはAL32UTF8。   1、Pleiadesをダウンロード http://mergedoc.sourceforge.jp/index.html#/pleiades_distros3.7.html pleiades-e3.7-php-jre_20120225.zipをダウンロードし、解凍。 今回はD:\Javaに展開。   2、XAMPPをセットアップ D:\Java\xamppディレクトリ配下のsetup_xampp.batを実行。 D:\Java\xampp\apache\confのhttpd.confを編集。ServerRootを設定。 #ServerRoot “D:/Java/xampp/apache” ServerRoot “D:\Java\xampp\apache” ←追記   3、Oracle Instant Clientをダウンロード http://www.oracle.com/technetwork/jp/topics/winsoft-087812-ja.html 32bit版をダウンロードし、展開。今回はD:\Java\instantclient_11_2に展開。 4、php.iniを編集 D:\Java\xampp\php\php.iniを編集。 キャラクタセットを追記。 default_charset = “UTF-8” extension_dirを以下に変更。 extension_dir = “D:\Java\xampp\php\ext” php_oci8.dll先頭のコメントアウト解除(「;」を削除) extension=php_oci8.dll   5、OSの環境変数を設定 コントロールパネル→システムの左ペインにて、システムの詳細設定をクリック。 詳細設定タブ下部、環境変数をクリック。 システム環境変数に変数名 NLS_LANG 、値 Japanese_Japan.AL32UTF8 を追加。 変数名 Path の値の先頭に、Oracle Instant Clientのディレクトリを追記。(今回は D:\Java\instantclient_11_2; ) OSを再起動 ←ここ重要   6、Apacheを起動 D:\Java\xampp\xampp-control.exeを実行。 XAMPP Control Panel Applicationにて、ApacheをStart。 ブラウザでhttp://localhost/にアクセス。XAMPPのページが表示されることを確認。   7、PHPのサンプルアプリを作成 D:\Java\eclipse\eclipse.exeを実行。 ファイル→新規→PHPプロジェクトにて、プロジェクト名はphpにする。 phpプロジェクトにて、ファイル→新規→PHPファイルを作成、ファイル名はdbaccess.phpにする。 Oracle DBのIPは192.168.1.100、サービス名はHOGEDB、キャラクタセットはAL32UTF8の場合。 スキーマ名はHR、パスワードはhogehogeの場合。 HRスキーマの作成は、ここを参照されたい。 [php] Oracle DB接続テスト Oracle DB接続テスト

Oracleで、エクスポートしたデータを異なるスキーマにインポートする

  export/importには、expdp、impdpを使う。 ・データベース名は、エクスポート元(fromdb)とインポート先(todb)で異なる。 ・スキーマ名は、エクスポート元(HR)とインポート先(HOGEHOGE)で異なる。 場合は、以下を実行しましょう。 fromdbでエクスポート expdb system/hogehoge@fromdb dumpfile=DATA_PUMP_DIR:HR.DMP logfile=exp_hr.log schemas=HR HR.DMPをtodbに送り、 todbでインポート impdp system/hogehoge@todb dumpfile=DATA_PUMP_DIR:HR.DMP logfile=DATA_PUMP_DIR:imp_hr.log remap_schema=HR:HOGEHOGE; ディレクトリ”DATA_PUMP_DIR”の場所は、select * from all_directoriesで確認しましょう。

Posted in Oracle | Comments closed