Підключення до sql server на c # для чайника - stack overflow російською
Завдання: підключитися до SQL Server. створити нову локальну базу даних, виконати скрипт створення бази з файлу "database.sql" (створення таблиць, процедур і т. п.).
Проблема: судячи з усього, в рядку підключення, а швидше за все - в ім'я сервера.
Поясніть на пальцях, будь ласка, що там писати? В голові каша, не розумію ні фіга.
Перепробував варіанти назви сервера з MSDN і ConnectionString - весь час якісь помилки. Варіанти: localhost, (localhost), (local), localdb, (localdb), (localdb) \ v.11, ще якісь були, і вже зовсім заплутався в них усіх. Є варіанти підключення до Server Instance - це що ще за хрень? Теж не зрозумію.
Як мені пояснили, логін-пароль вказувати не треба при створенні бази, здається, використовується аутенфікація Windows, але я знову ж толком не зрозумів про що мова.
Спасибі всім за допомогу.
заданий 4 Січня '16 в 4:19
У SQL Server є два режими роботи:
Його наявність можна перевірити в Control Panel / Services:
У дужках написано ім'я інстанси. MSSQLSERVER - це неіменованого інстанси. Якщо у вас там написано SQLEXPRESS - то ім'я інстанси і є SQLEXPRESS.
До таких інстанси можна підключиться на ім'я в форматі ІМЯСЕРВЕРА \ ІМЯІНСТАНСА. Точка в імені сервера - це локальна машина. Тобто для підключення до сервера з скріншота можна використовувати
Будь там написано SQLEXPRESS, для підключення можна було б використовувати
- .\ SQLEXPRESS
- localhost \ SQLEXPRESS - без дужок!
- pasha-pc \ SQLEXPRESS - ім'я моєї машини + ім'я інстанси.
Проблема з повноцінним інстанси - доступ до нього потрібно налаштовувати. Він за замовчуванням дозволяє доступ того, хто встановлював SQL Server, але всім іншим доступ потрібно дозволити вручну. Для обходу цієї проблеми існує другий режим роботи:
LocalDB - це легкий інстанси SQL Server-а, який існує тільки для поточного користувача.
Для підключення до нього використовується ім'я сервера в форматі (localdb) \ імяінстанса.
Ось приклад виведення існуючих інстанси на моїй машині
Відповідні імена для підключення - (localdb) \ MSSQLLocalDB. (Localdb) \ ProjectsV12.
Скористайтеся панеллю керування сервісами і SqlLocalDB, дізнайтеся ім'я інстанси, і впишіть відповідне ім'я в connection string.
Що стосується перевірки автентичності для SQL Server. Існує два режими перевірки справжності на SQL Server-е:
- Перевірка справжності Windows
- Перевірка справжності SQL Server.
Інстанси може бути налаштований на обидва режими підключення. Щоб підключитися до SQL Server-у використовуючи перший режим, в рядку підключення необхідно передати
Якщо ви хочете зайти на SQL Server під конкретним користувачем, зареєстрованим на самому SQL Server-е. то тоді параметр Integrated Security пропускаєте, або вказуєте рівним false. а параметри ім'я користувача і пароль вказуються за допомогою наведеного нижче синтаксису
Більш докладно про синтаксис рядка підключення в залежності від режиму перевірки автентичності можна прочитати тут
відповідь дан 7 Січня '16 о 12:15