PHP   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php – 使用Yii2在sqlserver中选择Schema和table?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有sql server数据库,它有多个架构.我尝试使用sqlsrv驱动程序从不同模式的表中选择一个,但是表示无效配置,该表不存在.
如何使用sqlsrv驱动程序在表中选择架构? @H_763_3@myConnection的

<?php 
    return [
        'class' => 'yii\db\Connection','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 app\models;

    use Yii;
    use yii\db\ActiveRecord;

    class transaction extends \yii\db\ActiveRecord
    {
        /**
         * @inheritdoc
         */
        public static function tablename()
        {
            return 'scheR_80_11845@a2.transaction';
        }

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

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

        /**
         * @inheritdoc
         */
        public function attributeLabels()
        {
            return [
            'id' => Yii::t('app','Uid'),'@R_874_10793@er' => Yii::t('app','@R_874_10793@er'),'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 'scheR_80_11845@a2..transaction';

要么

return 'scheR_80_11845@a2.YOUR_user_NAME_HERE.transaction';

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

大佬总结

以上是大佬教程为你收集整理的php – 使用Yii2在sqlserver中选择Schema和table?全部内容,希望文章能够帮你解决php – 使用Yii2在sqlserver中选择Schema和table?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。