7

助けてください!Codeigniter を Oracle に接続できません Codeigniter を Oracle 11g に接続しようとしています。私の設定は次のとおりです。

Settings in database.php:

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = "//localhost/";
$db['default']['username'] = 'xxxxxxx';
$db['default']['password'] = 'xxxxxxx';
$db['default']['database'] = 'orcl';
$db['default']['dbdriver'] = 'oci8';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

注: C:\instantclient_11_2 to 環境変数を PATH に追加しました。

oracle port number:
oracle hostname: Home-pc
database name: orcl

CodeIgniter ログイン コードを実行した場合にのみ、次のエラー メッセージが表示されます。

A Database Error Occurred

Unable to connect to your database server using the provided settings.

Filename: D:\xampp\htdocs\ci\system\database\DB_driver.php

Line Number: 124

しかし、次のような単純な php コードを実行すると、Oracle に接続できます。

<?php
$conn = oci_connect("xxxxxx", "xxxxxx","");
if (!$conn) { 
   echo "Not connected!";
}
else
  echo "yahooooooooo!!!!!!!!!!";
?>

結果:やほおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお

4

4 に答える 4

5

構成のdatabase.phpで、次の変更を行います

$active_group = 'default';
$active_record = TRUE;

$tnsname = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))';

$db['default']['hostname'] = $tnsname;
$db['default']['username'] = 'XXXXXX';
$db['default']['password'] = 'XXXXX';
$db['default']['database'] = '';
$db['default']['dbdriver'] = 'oci8';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
于 2013-01-13T07:30:55.920 に答える
0

この変更を試してみてください。ホスト名を変更してください。http://localhost:1521:orcl データベース名は として与えられます。orclデフォルトorclでは、デフォルトのインスタンス ID です。新しいユーザーまたはデータベースを作成して、構成に変更してみてくださいdatabase

于 2012-12-28T04:15:46.960 に答える