Как я могу подключиться к базе данных Oracle с Yii2? - PullRequest
0 голосов
/ 10 мая 2018

У нас есть работа в школе, и мы делаем сайт с фреймворком yii2.

В чем проблема?Мы не можем использовать миграцию, что является лучшим способом;мы должны использовать базу данных оракула.Мы сделали это, таблицы и т. Д., Но мы не знаем, как связать этот оракул ,, сервер ,, с yii2.

1 Ответ

0 голосов
/ 11 мая 2018

Вы должны пройти через docs для Yii2.

Вы должны добавить конфигурацию в common/config/main.php или config/db.php, в зависимости от версии Yii2 (Advanced или Basic), и под компонентами вы должны добавить параметры компонента базы данных, которые одинаковы для всех баз данных, единственное, что отличается, это строка dsn ниже, все поддерживаемые строки, которые могут помочь вам или другим людям получить ответ на этот вопрос.

For Advanced App

Добавить следующее под components

'db' => [
           'class' => 'yii\db\Connection',
           //'dsn' => 'mysql:host=localhost;dbname=mydatabase', // MySQL, MariaDB
           //'dsn' => 'sqlite:/path/to/database/file', // SQLite
           //'dsn' => 'pgsql:host=localhost;port=5432;dbname=mydatabase', // PostgreSQL
           //'dsn' => 'cubrid:dbname=demodb;host=localhost;port=33000', // CUBRID
           //'dsn' => 'sqlsrv:Server=localhost;Database=mydatabase', // MS SQL Server, sqlsrv driver
           //'dsn' => 'dblib:host=localhost;dbname=mydatabase', // MS SQL Server, dblib driver
           //'dsn' => 'mssql:host=localhost;dbname=mydatabase', // MS SQL Server, mssql driver
           'dsn' => 'oci:dbname=//localhost:1521/mydatabase', // Oracle
          'username' => 'DB_USERNAME',
          'password' => 'DB_PASSWORD',
          'charset' => 'utf8',
]

For Basic App

Просто обратите внимание, что если вы используете basic-app для Yii2, вы должны скопировать ниже в db.php

<?php 
return [
    'class' => 'yii\db\Connection' ,
    'dsn' => 'oci:dbname=//localhost:1521/mydatabase', // Oracle
    'username' => 'DB_USERNAME',
    'password' => 'DB_PASSWORD',
    'charset' => 'utf8' ,
];

и убедитесь, что у вас есть

    'db' => $db,

входит в config/web.php под components

...