将Codeigniter连接到Oracle 11g

sirbozc5  于 2023-09-28  发布在  Oracle
关注(0)|答案(4)|浏览(191)

我无法将codeigniter连接到Oracle。
我正在尝试将Codeigniter连接到Oracle 11 g,以下是我的设置

  1. Settings in database.php:
  2. $active_group = 'default';
  3. $active_record = TRUE;
  4. $db['default']['hostname'] = "//localhost/";
  5. $db['default']['username'] = 'xxxxxxx';
  6. $db['default']['password'] = 'xxxxxxx';
  7. $db['default']['database'] = 'orcl';
  8. $db['default']['dbdriver'] = 'oci8';
  9. $db['default']['dbprefix'] = '';
  10. $db['default']['pconnect'] = TRUE;
  11. $db['default']['db_debug'] = TRUE;
  12. $db['default']['cache_on'] = FALSE;
  13. $db['default']['cachedir'] = '';
  14. $db['default']['char_set'] = 'utf8';
  15. $db['default']['dbcollat'] = 'utf8_general_ci';
  16. $db['default']['swap_pre'] = '';
  17. $db['default']['autoinit'] = TRUE;
  18. $db['default']['stricton'] = FALSE;

注意:我将C:\instantclient_11_2添加到PATH环境变量。

  1. oracle port number:
  2. oracle hostname: Home-pc
  3. database name: orcl

只有当我运行CodeIgniter登录代码时,它才会显示以下错误消息:

  1. A Database Error Occurred
  2. Unable to connect to your database server using the provided settings.
  3. Filename: D:\xampp\htdocs\ci\system\database\DB_driver.php
  4. Line Number: 124

但我可以连接到Oracle,当我运行一个简单的php代码,如:

  1. <?php
  2. $conn = oci_connect("xxxxxx", "xxxxxx","");
  3. if (!$conn) {
  4. echo "Not connected!";
  5. }
  6. else
  7. echo "yahooooooooo!!!!!!!!!!";
  8. ?>

结果:yahoooooooo!!!!!!!!!!

omhiaaxx

omhiaaxx1#

在配置的database.php中进行以下更改

  1. $active_group = 'default';
  2. $active_record = TRUE;
  3. $tnsname = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  4. (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))';
  5. $db['default']['hostname'] = $tnsname;
  6. $db['default']['username'] = 'XXXXXX';
  7. $db['default']['password'] = 'XXXXX';
  8. $db['default']['database'] = '';
  9. $db['default']['dbdriver'] = 'oci8';
  10. $db['default']['dbprefix'] = '';
  11. $db['default']['pconnect'] = TRUE;
  12. $db['default']['db_debug'] = TRUE;
  13. $db['default']['cache_on'] = FALSE;
  14. $db['default']['cachedir'] = '';
  15. $db['default']['char_set'] = 'utf8';
  16. $db['default']['dbcollat'] = 'utf8_general_ci';
  17. $db['default']['swap_pre'] = '';
  18. $db['default']['autoinit'] = TRUE;
  19. $db['default']['stricton'] = FALSE;
展开查看全部
sulc1iza

sulc1iza2#

default更改为XE

  1. $active_group = 'XE';
  2. $active_record = TRUE;
  3. $tnsname = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  4. (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))';
  5. $db['XE']['hostname'] = $tnsname;
  6. $db['XE']['username'] = 'XXXXXX';
  7. $db['XE']['password'] = 'XXXXX';
  8. $db['XE']['database'] = '';
  9. $db['XE']['dbdriver'] = 'oci8';
  10. $db['XE']['dbprefix'] = '';
  11. $db['XE']['pconnect'] = TRUE;
  12. $db['XE']['db_debug'] = TRUE;
  13. $db['XE']['cache_on'] = FALSE;
  14. $db['XE']['cachedir'] = '';
  15. $db['XE']['char_set'] = 'utf8';
  16. $db['XE']['dbcollat'] = 'utf8_general_ci';
  17. $db['XE']['swap_pre'] = '';
  18. $db['XE']['autoinit'] = TRUE;
  19. $db['XE']['stricton'] = FALSE;
展开查看全部
jum4pzuy

jum4pzuy3#

尝试这样做的变化改变主机名为http://localhost:1521:orcl你是给定的数据库名称为orcl,默认情况下orcl是默认的示例id.尝试创建新的用户或数据库并将其更改为配置database

xzlaal3s

xzlaal3s4#

确保php_oci8_11g.dll扩展已加载到php.ini

相关问题