在同一应用程序中将Codeigniter连接到mysql和oracle

阿拜吉

我正在为My CI应用程序使用Mysql和Oracle。我尝试连接它,但发现无法对Oracle数据库进行查询。总是会提示该表不存在。

我已经将database.php设置为这样

$active_group = 'oracle';
$active_record = true;

$db['oracle']['hostname'] = '10.10.10.1:1521/ocidb';
$db['oracle']['username'] = 'ociuser';
$db['oracle']['password'] = 'ocipass';
$db['oracle']['database'] = 'ocidb';
$db['oracle']['dbdriver'] = 'oci8';
$db['oracle']['dbprefix'] = '';
$db['oracle']['pconnect'] = TRUE;
$db['oracle']['db_debug'] = FALSE;
$db['oracle']['cache_on'] = FALSE;
$db['oracle']['cachedir'] = '';
$db['oracle']['char_set'] = 'utf8';
$db['oracle']['dbcollat'] = 'utf8_general_ci';
$db['oracle']['swap_pre'] = '';
$db['oracle']['autoinit'] = TRUE;
$db['oracle']['stricton'] = FALSE;

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

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'mysqldb';
$db['default']['dbdriver'] = 'mysql';
$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;

在控制器中,我想在oracle中查询表,因此将其加载到那里。

function citizen(){
  $this->load->database('oracle',true);

  $data['someone'] = $this->people_model->getPeople();
  
  $this->load->view('myview',$data);
}

这是people_model

function getPeople(){
  return $this->db->get('people')->result();
}

当我运行它时,它将得到错误

Error Number: 1146

Table 'mysqldb.people' doesn't exist

SELECT * FROM (`people`) WHERE `id` = '21111'

似乎表人仍然在oracle中时,它仍然可以查询mysql。我也曾尝试在模型中而不是在控制器中加载oracle数据库,但结果相同。

在这种情况下,如何查询oracle。任何答案将不胜感激。谢谢。

伊斯兰教的伊斯兰教|

我使用Codeigniter处理了oracle和mysql。

您使用的$this->load->database('oracle',true);第2个参数为true时,应将其分配给变量。像这样

$oracle_db=$this->load->database('oracle',true);//connected with oracle
$mysql_db=$this->load->database('default',true);//connected with mysql

现在您可以将这两个变量用于查询。

$oracle_db->get('people')->result();

或者

$mysql_db->get('people')->result();

所以最后您的模型应该是这样的(不要在您的控制器上加载数据库)

function __construct()//model construct function
{
    parent::__construct();
    $this->oracle_db=$this->load->database('oracle',true);
    $this->mysql_db=$this->load->database('default',true);
}
function getPeople(){
   return $this->oracle_db->get('people')->result();
}

希望你能理解。确保它与您的oracle数据库连接。

我的oracle数据库.php是这样的

$tns = "
(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = YOUR_IP)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = YOUR_SID)
    )
  )
       ";
$db['oracle']['hostname'] = $tns;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将不同设备上的同一应用程序连接到同一数据库

来自分类Dev

同一应用程序中的JPA / Eclipselink和JDBC连接

来自分类Dev

客户端连接到WCF服务时观察超时异常-两者都驻留在同一应用程序中

来自分类Dev

同一应用程序中的Heroku PHP和Node.js

来自分类Dev

iOS 7和iOS 6同一应用程序的不同版本

来自分类Dev

Rails在同一应用程序中使用RABL和jbuilder?

来自分类Dev

在同一应用程序中同时包含crashlytics和Google Analytics(分析)

来自分类Dev

是否可以在同一应用程序中同时设置Crashlytics和Flurry崩溃分析?

来自分类Dev

同一应用程序中的实体框架5和6

来自分类Dev

同一应用程序/服务中的Web Api和Web ui

来自分类Dev

需要创建同一应用程序的Windows和基于Web的版本

来自分类Dev

需要创建同一应用程序的Windows和基于Web的版本

来自分类Dev

Angular2和Symfony合并在同一应用程序中

来自分类Dev

同一应用程序上的AAD OpenId和承载身份验证

来自分类Dev

iOS 7和iOS 6同一应用程序的不同版本

来自分类Dev

同一应用程序中的实体框架5和6

来自分类Dev

在同一应用程序中使用JSP和PHP

来自分类Dev

在同一应用程序中的WPF和WinForm之间导航

来自分类Dev

需要创建同一应用程序的Windows和基于Web的版本

来自分类Dev

如何在同一应用程序中访问Dropbox SDK和Facebook API的令牌

来自分类Dev

.net core 2.2和3.1应用程序插槽可以共存于同一应用程序服务中吗?

来自分类Dev

如何使Selenium始终与同一应用程序打开应用程序超链接?

来自分类Dev

从单独的应用程序但在同一应用程序池中访问用户控件

来自分类Dev

在同一应用程序中使用猫鼬的两个连接。第二个连接是连接第一个从属

来自分类Dev

是否可以在同一应用程序中同时使用NancyFx模块和WebAPI控制器?

来自分类Dev

如何在Unity中切换和列出窗口(可能是同一应用程序)?

来自分类Dev

适用于同一应用程序的Sony SmartWatch 2控制和通知可能吗?

来自分类Dev

如何在Unity中切换和列出窗口(可能是同一应用程序)?

来自分类Dev

Windows C ++-需要想法-在同一应用程序/窗口中组合鼠标输入和原始输入

Related 相关文章

  1. 1

    将不同设备上的同一应用程序连接到同一数据库

  2. 2

    同一应用程序中的JPA / Eclipselink和JDBC连接

  3. 3

    客户端连接到WCF服务时观察超时异常-两者都驻留在同一应用程序中

  4. 4

    同一应用程序中的Heroku PHP和Node.js

  5. 5

    iOS 7和iOS 6同一应用程序的不同版本

  6. 6

    Rails在同一应用程序中使用RABL和jbuilder?

  7. 7

    在同一应用程序中同时包含crashlytics和Google Analytics(分析)

  8. 8

    是否可以在同一应用程序中同时设置Crashlytics和Flurry崩溃分析?

  9. 9

    同一应用程序中的实体框架5和6

  10. 10

    同一应用程序/服务中的Web Api和Web ui

  11. 11

    需要创建同一应用程序的Windows和基于Web的版本

  12. 12

    需要创建同一应用程序的Windows和基于Web的版本

  13. 13

    Angular2和Symfony合并在同一应用程序中

  14. 14

    同一应用程序上的AAD OpenId和承载身份验证

  15. 15

    iOS 7和iOS 6同一应用程序的不同版本

  16. 16

    同一应用程序中的实体框架5和6

  17. 17

    在同一应用程序中使用JSP和PHP

  18. 18

    在同一应用程序中的WPF和WinForm之间导航

  19. 19

    需要创建同一应用程序的Windows和基于Web的版本

  20. 20

    如何在同一应用程序中访问Dropbox SDK和Facebook API的令牌

  21. 21

    .net core 2.2和3.1应用程序插槽可以共存于同一应用程序服务中吗?

  22. 22

    如何使Selenium始终与同一应用程序打开应用程序超链接?

  23. 23

    从单独的应用程序但在同一应用程序池中访问用户控件

  24. 24

    在同一应用程序中使用猫鼬的两个连接。第二个连接是连接第一个从属

  25. 25

    是否可以在同一应用程序中同时使用NancyFx模块和WebAPI控制器?

  26. 26

    如何在Unity中切换和列出窗口(可能是同一应用程序)?

  27. 27

    适用于同一应用程序的Sony SmartWatch 2控制和通知可能吗?

  28. 28

    如何在Unity中切换和列出窗口(可能是同一应用程序)?

  29. 29

    Windows C ++-需要想法-在同一应用程序/窗口中组合鼠标输入和原始输入

热门标签

归档