За последние 24 часа нас посетили 21957 программистов и 1003 робота. Сейчас ищут 702 программиста ...

Подключение к нескольким БД MSSQL

Тема в разделе "Laravel", создана пользователем Feonix89, 6 июн 2018.

  1. Feonix89

    Feonix89 Новичок

    С нами с:
    30 май 2018
    Сообщения:
    113
    Симпатии:
    2
    Здравствуйте, есть 1 база на локальном сервере (с ней все хорошо, миграции работают все просто отлично) и нужно подключиться еще к 1 базе на удаленном сервере (для переноса нескольких таблиц в мою базу на локальном сервере). Вопрос как мне настроить подключение ко 2 базе и забрать с нее все данные из нескольких таблиц?

    Подскажите пожалуйста в config/database.php я добавил второе подключение как
    'sqlsrv' => [
    'driver' => 'sqlsrv',
    'host' => env('DB_HOST', '###.#.#.#'),
    'port' => env('DB_PORT', '#####'),
    'database' => env('DB_DATABASE', '#######'),
    'username' => env('DB_USERNAME', '###########'),
    'password' => env('DB_PASSWORD', '###########'),
    'charset' => 'utf8',
    'prefix' => '',
    ],
    'sqlsrv_second' => [
    'driver' => 'sqlsrv',
    'host' => env('DB_HOST', '###.#.#.#'),
    'port' => env('DB_PORT', '####'),
    'database' => env('DB_DATABASE', '########'),
    'username' => env('DB_USERNAME', '#################'),
    'password' => env('DB_PASSWORD', '#######################'),
    'charset' => 'utf8',
    'prefix' => '',
    ],

    На этом собственно все и остановилось. надо ли что - то указывать в файле .env и вообще последовательность действий какая.
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.553
    Симпатии:
    1.754
    В доке же всё есть: https://laravel.com/docs/master/database#using-multiple-database-connections
    Если хотите данные в env-файле, то сделайте там переменные DB_HOST1, DB_PORT1 и т.п. В этом файле вы можете писать всё что угодно, не ограничиваясь тем, что там написано сразу после установки. Лишь бы в том же формате.
     
  3. Feonix89

    Feonix89 Новичок

    С нами с:
    30 май 2018
    Сообщения:
    113
    Симпатии:
    2
    с коннектом я разобрался по мануалу, согласен. Возникла следующая дилемма: проверяю соединение через php artisan tinker
    ввожу DB::connection('sqlsrv_second')->getPdo(); для проверки и сталкиваюсь с проблемой, что у меня php 5.6.4 и я работаю с 11 версией драйвера а вторая бд на версии 10 с которой как я понял php 5.6.4 не работает. Как поступить в такой ситуации.?
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.553
    Симпатии:
    1.754
    Тут не подскажу, я с MSSQL не работал. Ждём тех, кто работал
     
  5. Feonix89

    Feonix89 Новичок

    С нами с:
    30 май 2018
    Сообщения:
    113
    Симпатии:
    2
    + еще одна проблема на сервере только windows аутентификация и с ней я не могу подключиться к бд через laravel
     
  6. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    Видели: LDAP Authentication & Management for Laravel
     
    Feonix89 нравится это.
  7. Feonix89

    Feonix89 Новичок

    С нами с:
    30 май 2018
    Сообщения:
    113
    Симпатии:
    2
    Посмотрел, но у меня не проходит по версии php у меня 5.6.4 а там 7 и выше
     
  8. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    Там есть ветка v3.0 для PHP 5.6 or greater
     
  9. Feonix89

    Feonix89 Новичок

    С нами с:
    30 май 2018
    Сообщения:
    113
    Симпатии:
    2
    Вопрос решился, если в database.php я указываю логин и пароль на подключение к БД с windows аутентификацией, то автоматически пытается пройти подключение как SQL учетная запись, а если оставляю поля пустыми, то цепляет данные пользователя и подключается как windows аутентификация. Следующим пунктом как раз буду смотреть в сторону LDAP. Всем кто принимал участие большое спасибо.