当然可以了.你这个需求我之前做过.把mssql数据转到mysql.
创新互联公司总部坐落于成都市区,致力网站建设服务有成都网站建设、网站建设、网络营销策划、网页设计、网站维护、公众号搭建、重庆小程序开发、软件开发等为企业提供一整套的信息化建设解决方案。创造真正意义上的网站建设,为互联网品牌在互动行销领域创造价值而不懈努力!
你可以写俩配置文件,$db1 加载mssql链接类,$db2 加载mysql链接类.
当然具体实现要你自己来写了.
可以找一些cms程序的数据库连接类来用.
thinkphp 同时连接两个数据库的配置方法如下:
1、在Db.class.php脚本文件里面的类增加一个魔术方法__get(),写法如下:
public function __get($propertyName)
{ return $this-$propertyName;
}
这个方法是用来访问类中protected $config成员属性用的。有的人可能会说,直接把protected改成public岂不是更好。这样只解决了基类的问题,假如,子类也同样进行了受保护,那要你更改更多的文件,这是我们做IT程序员非常不愿意看到的事情。
2、在Model.class.php中的getTableName()方法更改如下:
$tablepre = $this-db-config['tablepre'];
if(empty($this-trueTableName)) {
$tableName??= empty($tablepre) ? $this-tablePrefix : $tablepre;
if(!empty($this-tableName)) {
$tableName .= $this-tableName;
}
else
{
$tableName .= parse_name($this-name);
}
$this-trueTableName? ? =? ?strtolower($tableName);
}
return (!empty($this-dbName)?$this-dbName.'.':'').$this-
trueTableName;这样就完成了多库自由切换时,导致的表前缀问题。
$conn1=mysql_connect('...','...','...'); //将第一个数据库连接资源保存到变量conn1中
$conn2=mysql_connect('...','...','...'); //将第二个数据库连接资源保存到变量conn2中
然后在执行查询操作时,指定使用哪个连接资源,如:mysql_query('select ....',$conn1);
希望可以帮到你,谢谢!
实例化两条sql链接.
例如
$wdb = mysql_connect('localhost','root','123456','a1');//负责写入的数据库
$rdb = mysql_connect('192.168.xx.xx','root','123456','a2');//负责读的数据库
这样就可以链接两个数据库了。
应该是这样的
$conb=mysql_connect("localhost","root","")or die("mysql连接失败");
$cont=mysql_connect("localhost","root","", true)or die("mysql连接失败");
第四个参数true/false表示是否开启一个新的连接,默认是false
好了,现在它们连接到不同的数据库咯
$conn1=mysql_connect('...','...','...'); //将第一个数据库连接资源保存到变量conn1中
$conn2=mysql_connect('...','...','...'); //将第二个数据库连接资源保存到变量conn2中
然后在执行查询操作时,指定使用哪个连接资源,如:mysql_query('select ....',$conn1);