找到一些答案,遇到一些问题做个记录。
目前采用freeTDS和pdo_dblib解决的,但是编码有问题。yii用utf-8,sql server上用gbk。
osx配置如下,utf8放下面会报错,不知道什么原因。
'api' => [
'class' => 'yii\db\Connection',
'dsn' => 'dblib:host=x.x.x.x;dbname=dbname;charset=utf8',
'username' => 'username',
'password' => 'password',
//'charset' => 'utf8',
],
ubuntu配置如下,utf8放哪一样,程序运行正常,但是写入sql server会乱码。
'api' => [
'class' => 'yii\db\Connection',
'dsn' => 'dblib:host=x.x.x.x;dbname=dbname;charset=utf8',
'username' => 'username',
'password' => 'password',
//'charset' => 'utf8',
],
研究问题之后,知道了。 unix/linux 连接 sql server 的方式很多种,比如 freetds + unixODBC(iODBC)等。
php的pdo能支持,不管哪种数据库,无非是数据库驱动器和数据库管理器的连接的问题。