加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – 使用Yii2在sqlserver中选择Schema和table?

发布时间:2020-05-26 01:54:42 所属栏目:PHP 来源:互联网
导读:我有sql server数据库,它有多个架构.我尝试使用sqlsrv驱动程序从不同模式的表中选择一个,但是表示无效配置,该表不存在. 如何使用sqlsrv驱动程序在表中选择架构? MyConnection的 ?php return [ class = yiidbConnection, dsn = sqlsrv:Server=192.

我有sql server数据库,它有多个架构.我尝试使用sqlsrv驱动程序从不同模式的表中选择一个,但是表示无效配置,该表不存在.
如何使用sqlsrv驱动程序在表中选择架构?

MyConnection的

<?php 
    return [
        'class' => 'yiidbConnection','dsn' => 'sqlsrv:Server=192.168.10.70;Database=mydatabase',// MS SQL Server,sqlsrv driver public ip
        'username' => 'user_username','password' => 'user_password','charset' => 'utf8',];
?>

我的模特

<?php
    namespace appmodels;

    use Yii;
    use yiidbActiveRecord;

    class Transaction extends yiidbActiveRecord
    {
        /**
         * @inheritdoc
         */
        public static function tableName()
        {
            return 'schema2.transaction';
        }

        public static function getDb()
        {
            return Yii::$app->db3;  // use the "db3" application component
        }

        /**
         * @inheritdoc
         */
        public function rules()
        {
            return [[['id','number','amount','date','status','description'],'required']];
        }

        /**
         * @inheritdoc
         */
        public function attributeLabels()
        {
            return [
            'id' => Yii::t('app','Uid'),'number' => Yii::t('app','Number'),'date' => Yii::t('app','Date'),'amount' => Yii::t('app','Amount'),'description' => Yii::t('app','Item Description'),'status' => Yii::t('app','status'),];
        }
    }
?>
MS SQL中的完整表名包含三个部分:架构,所有者和表名,例如:
dbo.user1.table1

这意味着table1是由架构dbo中的user1创建的.

如果您不知道所有者或者它是默认用户(sa),您可以像这样传递:

dbo..table1

所以我建议你尝试一下

return 'schema2..transaction';

要么

return 'schema2.YOUR_USER_NAME_HERE.transaction';

正确解析不同架构的表名.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读