怎么样配置thinkphp 与本地mysql和sql server同时连接俩个数据库

怎么样配置thinkphp 与本地mysql和sql server同时连接俩个数据库,第1张

thinkphp 同时连接两个数据库的配置方法如下:

1、在Dbclassphp脚本文件里面的类增加一个魔术方法__get(),写法如下:

public function __get($propertyName)

{ return $this->$propertyName;

}

这个方法是用来访问类中protected $config成员属性用的。有的人可能会说,直接把protected改成public岂不是更好。这样只解决了基类的问题,假如,子类也同样进行了受保护,那要你更改更多的文件,这是我们做IT程序员非常不愿意看到的事情。

2、在Modelclassphp中的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;这样就完成了多库自由切换时,导致的表前缀问题。

/面向对象PDO连接方式/

'DB_TYPE' => 'PDO', // 数据库类型

'DB_DSN' => 'mysql:host=localhost;dbname=master', // DSN连接。

'DB_USER' => 'root', // 数据库用户名

'DB_PWD' => '123456', // 数据库密码

'DB_PORT' => '3306', // 数据库端口

'DB_PREFIX' => 'g_', // 数据表前缀

'DB_CHARSET' => 'utf8', // 数据库编码默认采用utf8

你新建项目的时候,会有一个webconfig的配置文件的在里面的<connectionStrings></connectionStrings><add>一个数据库链接字符串就OK了,例如“ <add connectionString="Data Source=;Initial Catalog=test;Integrated Security=True;Connect Timeout=30;" name="DBHelplerDbConnection"/>”这个就是了,connectionString代表数据库链接字符串,name代表你想要引用的时候查找的名称。 完成以上的配置文件,就在你的DBhelper类里用ConfigurationManager进行连接以下是我写的例子= =。。。这是原创回答,如有错误,希望别见怪哈string strCon = ConfigurationManagerConnectionStrings["这里是你刚才配置文件里连接的NAME"]ConnectionString;然后你用SqlConnection conn = new SqlConnection(strCon);就可以直接打开连接了,不知道对你有没有帮助·-·当学术交流吧

//

public

function

connect()

{

$dns

=

"oci:dbname=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=主机地址)(PORT=端口))(CONNECT_DATA=(SID=标识)))";

$this->pdo

=

new

PDO($dns,

用户名,

密码,array(PDO::ATTR_PERSISTENT

=>

true));

$this->pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,TRUE);

//把结果序列化成stdClass

$this->pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,

PDO::FETCH_OBJ);

//自己写代码捕获Exception

//$this->pdo->setAttribute(PDO::ATTR_ERRMODE,

PDO::ERRMODE_EXCEPTION);

//设置时间格式

$this->pdo->query("ALTER

SESSION

SET

NLS_DATE_FORMAT

=

'YYYY-MM-DD

HH24:MI:SS'");

}//

以上就是关于怎么样配置thinkphp 与本地mysql和sql server同时连接俩个数据库全部的内容,包括:怎么样配置thinkphp 与本地mysql和sql server同时连接俩个数据库、红杉农场复利理财系统怎么修改 /include/dbconfig.php 数据库连接配置文件、php连接ORACEL数据库环境如何配置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9312169.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存