用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2696|回复: 7
收起左侧

[已解决] ci 数据库连接局限性

[复制链接]
发表于 2011-8-26 15:57:24 | 显示全部楼层 |阅读模式
发现 ci 只能连接一个主机的数据库,希望能得到改善

发表于 2011-8-26 16:08:48 | 显示全部楼层
好像可以连接多个吧...!!!
 楼主| 发表于 2011-8-26 16:11:47 | 显示全部楼层
吖晋 发表于 2011-8-26 16:08
好像可以连接多个吧...!!!

我本地一个mysql ,远程一个mysql 可以同时连吗? 请指教
发表于 2011-8-26 16:34:08 | 显示全部楼层
xiaohua1054 发表于 2011-8-26 16:11
我本地一个mysql ,远程一个mysql 可以同时连吗? 请指教

http://codeigniter.org.cn/forums ... 0%E6%8D%AE%E5%BA%93

多搜索,多google!
发表于 2011-8-26 16:52:22 | 显示全部楼层
这就是不好好看手册的误解哦,而且配置文件里明显有个组的东西,那就意味着可以连接多个,而且可以是不同的数据库类型
发表于 2011-8-26 17:51:51 | 显示全部楼层
PHP复制代码
 
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 
$active_group = 'default';
$active_record = TRUE;
 
$db['default']['hostname'] = '192.168.1.41';
$db['default']['username'] = 'sa';
$db['default']['password'] = 'sa';
$db['default']['database'] = 'GSGameDB';
$db['default']['dbdriver'] = 'mssql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = false;
$db['default']['db_debug'] = false;
$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;
 
$db['Test']['hostname'] = 'TestDB';
$db['Test']['username'] = 'sa';
$db['Test']['password'] = 'sa';
$db['Test']['database'] = 'TestDB';
$db['Test']['dbdriver'] = 'odbc';
$db['Test']['dbprefix'] = '';
$db['Test']['pconnect'] = false;
$db['Test']['db_debug'] = false;
$db['Test']['cache_on'] = FALSE;
$db['Test']['cachedir'] = '';
$db['Test']['char_set'] = 'utf8';
$db['Test']['dbcollat'] = 'utf8_general_ci';
$db['Test']['swap_pre'] = '';
$db['Test']['autoinit'] = TRUE;
$db['Test']['stricton'] = FALSE;
 
$db['Test2']['hostname'] = 'TestDB2';
$db['Test2']['username'] = 'sa';
$db['Test2']['password'] = 'sa';
$db['Test2']['database'] = 'TestDB2';
$db['Test2']['dbdriver'] = 'odbc';
$db['Test2']['dbprefix'] = '';
$db['Test2']['pconnect'] = false;
$db['Test2']['db_debug'] = false;
$db['Test2']['cache_on'] = FALSE;
$db['Test2']['cachedir'] = '';
$db['Test2']['char_set'] = 'utf8';
$db['Test2']['dbcollat'] = 'utf8_general_ci';
$db['Test2']['swap_pre'] = '';
$db['Test2']['autoinit'] = TRUE;
$db['Test2']['stricton'] = FALSE;
 
/* End of file database.php */
/* Location: ./application/config/database.php */
 
复制代码

我测试用的
发表于 2011-8-26 21:38:52 | 显示全部楼层
当然不止一个啦。。。
发表于 2011-8-29 10:52:41 | 显示全部楼层
CI有连接多个数据库的方法,这个手册上有,可以查一下。
不过如果这样设计,在操作数据库的时候,需要指定针对的是哪个数据库,代码量有所增加。

本版积分规则