Как подключить ms sql к c
Перейти к содержимому

Как подключить ms sql к c

  • автор:

Подключение баз данных SQL Server

В этом разделе описывается процедура подключения базы данных в SQL Server с помощью среды SQL Server Management Studio. Одновременно может быть подключена только одна база данных.

Для подключения базы данных необходимо иметь любое из следующих разрешений: CREATE DATABASE (Создание базы данных), CREATE ANY DATABASE (Создание любой базы данных) или ALTER ANY DATABASE (Изменение любой базы данных). Обычно эти разрешения предоставляются роли sysadmin экземпляра.

Как подключить базу данных

  1. Запустите среду Microsoft SQL Server Management Studio.
  2. Подключитесь к требуемому экземпляру SQL Server и разверните его.
  3. Правой кнопкой мыши щелкните пункт Базы данных и щелкните Подключить .
  4. Нажмите кнопку Добавить .
  5. В диалоговом окне Поиск файлов баз данных найдите и выберите MDF-файл базы данных.
  6. В разделе Сведения о базе данных убедитесь, что остальные файлы базы данных (NDB-файлы и LDF-файлы) также найдены. Подробнее. Файлы базы данных SQL Server могут быть не найдены автоматически, если:
    • Они находятся в расположении, отличном от расположения по умолчанию, или они не находятся в одной папке с основным файлом базы данных (MDF). Решение: Укажите путь к требуемым файлам вручную в столбце Путь к текущему файлу .
    • Вы восстановили неполный набор файлов, составляющих базу данных. Решение: Восстановите отсутствующие файлы базы данных SQL Server из резервной копии.
  7. Когда все файлы будут найдены, нажмите кнопку ОК .

Дата последней сборки: 6 марта 2023 г.

Веб-справка по Acronis Cyber Protect 15 Обновление 6 . © Acronis International GmbH, 2003-2023

Как подключить ms sql к c

Для работы с базой данных MS SQL Server в .NET 5 и выше (а также .NET Core 3.0/3.1) необходимо установить в проект через nuget пакет Microsoft.Data.SqlClient :

Microsoft.Data.SqlClient и подключение к MS SQL Server в .NET Core и в NET 6

Для создания подключения к MS SQL Server применяется класс SqlConnection из пространства имен Microsoft.Data.SqlClient.

Этот класс имеет три конструктора:

SqlConnection() SqlConnection(String) SqlConnection(String, SqlCredential)

Второй и третий конструкторы в качестве первого параметра принимают строку подключения. Третий конструктор также принимает объект SqlCredential , который фактически представляет логин и пароль.

Теперь проверим подключение на примере сервера LocalDB:

using Microsoft.Data.SqlClient; using System; using System.Data; using System.Threading.Tasks; namespace HelloApp < class Program < static async Task Main(string[] args) < string connectionString = "Server=(localdb)\\mssqllocaldb;Database=master;Trusted_Connection=True;"; // Создание подключения SqlConnection connection = new SqlConnection(connectionString); try < // Открываем подключение await connection.OpenAsync(); Console.WriteLine("Подключение открыто"); >catch (SqlException ex) < Console.WriteLine(ex.Message); >finally < // если подключение открыто if (connection.State == ConnectionState.Open) < // закрываем подключение await connection.CloseAsync(); Console.WriteLine("Подключение закрыто. "); >> Console.WriteLine("Программа завершила работу."); Console.Read(); > > >

В данном случае подключение осуществляется к серверу LocalDB и его базе данных master (по умолчанию база данных master уже должна быть на любом MS SQL Servere).

Для начала взаимодействия с базой данных нам надо открыть подключение с помощью методов Open() (синхронный) или OpenAsync() (асинхронный).

По окончании работы с SqlConnection необходимо закрыть подключение к серверу, вызвав метод Close()/CloseAsync() или Dispose()/DisposeAsync() . В данном случае вначале проверяем, что подключение открыто и, если оно открыто, вызываем асинхронный метод OpenAsync() .

В итоге, если указана валидная строка подключения, то мы должны увидеть на консоли следующие строки:

Подключение открыто Подключение закрыто. Программа завершила работу.

Вместо явного закрытия подключения также можно использовать конструкцию using , которая автоматически закрывает подключение:

using Microsoft.Data.SqlClient; using System; using System.Threading.Tasks; namespace HelloApp < class Program < static async Task Main(string[] args) < string connectionString = "Server=(localdb)\\mssqllocaldb;Database=master;Trusted_Connection=True;"; using(SqlConnection connection = new SqlConnection(connectionString)) < await connection.OpenAsync(); Console.WriteLine("Подключение открыто"); >Console.WriteLine("Подключение закрыто. "); Console.WriteLine("Программа завершила работу."); Console.Read(); > > >

Получение информации о подключении

Объект SqlConnection обладает рядом свойств, которые позволяют получить информацию о подключении:

using Microsoft.Data.SqlClient; using System; using System.Threading.Tasks; namespace HelloApp < class Program < static async Task Main(string[] args) < string connectionString = "Server=(localdb)\\mssqllocaldb;Database=master;Trusted_Connection=True;"; using(SqlConnection connection = new SqlConnection(connectionString)) < await connection.OpenAsync(); Console.WriteLine("Подключение открыто"); // Вывод информации о подключении Console.WriteLine("Свойства подключения:"); Console.WriteLine($"\tСтрока подключения: "); Console.WriteLine($"\tБаза данных: "); Console.WriteLine($"\tСервер: "); Console.WriteLine($"\tВерсия сервера: "); Console.WriteLine($"\tСостояние: "); Console.WriteLine($"\tWorkstationld: "); > Console.WriteLine("Подключение закрыто. "); Console.WriteLine("Программа завершила работу."); Console.Read(); > > >
Подключение открыто Свойства подключения: Строка подключения: База данных: master Сервер: (localdb)\mssqllocaldb Версия сервера: 15.00.2000 Состояние: Open WorkstationId: EUGENEPC Подключение закрыто. Программа завершила работу.

Подключение к Microsoft SQL Server из ArcGIS

Чтобы подключиться к Microsoft SQL Server из клиента ArcGIS, установите поддерживающий Microsoft SQL Server драйвер ODBC на клиентской машине ArcGIS и подключитесь к базе данных из клиента ArcGIS.

Так как клиент ODBC SQL Server настроен на всех клиентских компьютерах ArcGIS, создайте файл подключения к базе данных в ArcGIS Pro . Для публикации веб-сервисов ArcGIS Server , ссылающихся на данные в вашей базе данных SQL Server , зарегистрируйте файл подключения к базе данных с сайтами ArcGIS Server .

Подключение из ArcGIS Pro

Для подключения из проекта ArcGIS Pro к SQL Server установите драйвер Microsoft ODBC для SQL Server на компьютер с ArcGIS Pro и создайте подключение к базе данных. Сначала убедитесь, что экземпляр SQL Server может принимать подключения от удаленных компьютеров.

Настройка экземпляра на прием подключений

По умолчанию экземпляры SQL Server не могут принимать подключения от удаленных компьютеров. Если у вас имеется только что установленный SQL Server , убедитесь, что сервис SQL Server работает и слушает необходимые порты. См. документацию Microsoft SQL Server для получения более подробной информации.

Для использования шифрованных подключений необходима дополнительная настройка на SQL Server и ArcGIS Pro машинах клиента.

Установка драйвера ODBC для SQL Server

Загрузите драйвер Microsoft ODBC для SQL Server с сайта поддержки Microsoft Download Center или с сайта My Esri . Убедитесь, что вы загрузили ODBC Microsoft , поддерживаемый версией SQL Server , к которому вы будете подключаться. Установите драйвер на все компьютеры с ArcGIS Pro .

Подключение к базе данных

Добавьте подключение к базе данных, используя диалоговое окно Подключение базы данных или инструмент Создать подключение базы данных . В следующих шагах описано использование диалогового окна Подключение базы геоданных :

  1. Щелкните правой кнопкой мыши Базы данных на панели Каталог и щелкните Новое подключение к базе данных .
  2. Из ниспадающего списка Платформа базы данных выберите SQL Server .
  3. Введите название экземпляра SQL Server в поле Экземпляр .

Например, при использовании экземпляра SQL Server по умолчанию укажите имя экземпляра или IP-адрес сервера в текстовом окне Экземпляр . При задании IPV6-адреса заключите адрес в квадратные скобки. Например, если IPV6-адрес сервера 2000:ab1:0:2:f333:c432:55f6:d7ee, введите [2000:ab1:0:2:f333:c432:55f6:d7ee] в текстовом окне Источник данных . Если ваша база данных использует порт, отличный от заданного по умолчанию (1433), включите номер порта в экземпляр. Например, если экземпляр SQL Server – basset\spatial, и он использует порт 61000, введите basset\spatial,61000 в текстовом окне Экземпляр . Если Microsoft Azure SQL Database или Azure SQL Managed Instance имя экземпляра cloudy4u.database.windows.net, введите cloudy4u.database.windows.net в текстовом поле Экземпляр . Если вы работаете с экземпляром SQL Server с именем terra\gis, введите terra\gis в текстовом окне Экземпляр . Если Amazon Relational Database Service (RDS) for SQL Server имя экземпляра rdssqlserver.abc123 и он развернут в Amazon Web Services регион us-west-2, напишите rdssqlserver.abc123.us-west-2.rds.amazonaws.com в текстовом поле Экземпляр . Для шифрованных подключений и подключений к базам данных SQL Server с высокой доступностью в текстовой строке Экземпляр требуется дополнительный текст.

  • Если вы выберете Аутентификация средствами операционной системы , вам не потребуется вводить имя пользователя и пароль – подключение будет создано с помощью имени пользователя и пароля, которые используются для входа в операционную систему. Если имя пользователя, которое используется для входа в операционную систему, не является корректным именем пользователя базы данных, подключение не будет установлено.
  • Если вы выбираете Аутентификация в базе данных , вы должны ввести корректные имя пользователя и пароль в текстовых полях Имя пользователя и Пароль соответственно. Имена пользователей могут иметь длину не более 30 символов. Снимите отметку с опции Сохранять имя пользователя и пароль , если вы предпочитаете не сохранять свои данные для входа в качестве части соединения; такие действия помогут обеспечить безопасность базы данных. Однако в этом случае при каждом подключении вы должны будете вводить имя пользователя и пароль.
Примечание:
  • Опция Сохранять имя пользователя и пароль должна быть включена для файлов подключения, обеспечивающих сервисам ArcGIS доступ к базе данных, либо, если вы хотите найти данные ArcGIS Pro , полученные через этот файл подключения.
  • Вне ArcGIS вы можете создать имена пользователей в SQL Server , содержащие специальные символы. Такие имена пользователей при использовании должны разделяться. ArcGIS автоматически добавляет разделитель при передаче в SQL Server ; вам не нужно вводить разделители в имя пользователя. Например, если имя пользователя – map.user , введите map.user , а не «map.user» в поле Имя пользователя . Для получения более подробной информации об обычных и сложных идентификаторах обратитесь к документации к SQL Server .

Подключение из ArcGIS Server

Если SQL Server и ArcGIS Server находятся на разных серверах, установите драйвер Microsoft ODBC для SQL Server на всех компьютерах сайта ArcGIS Server . Сначала убедитесь, что экземпляр SQL Server настроен на прием подключений с удаленных компьютеров.

Настройка экземпляра на прием подключений

По умолчанию экземпляры SQL Server не могут принимать подключения от удаленных компьютеров. Если у вас имеется только что установленный SQL Server , убедитесь, что сервис SQL Server работает и слушает необходимые порты. См. документацию Microsoft SQL Server для получения более подробной информации.

Установка драйвера ODBC для SQL Server

Если ArcGIS Server и SQL Server установлены на разных компьютерах, необходимо установить 64-разрядный драйвер ODBC Microsoft для SQL Server на все компьютеры сайта ArcGIS Server . Его можно получить на сайте Download Center Microsoft . Убедитесь, что вы загрузили ODBC Microsoft , поддерживаемый версией SQL Server , к которому будет подключаться сайт ArcGIS Server .

Примечание:

При подключении из ArcGIS Server на Ubuntu к любой поддерживаемой версии SQL Server вы должны, в дополнение к драйверу ODBC, установить пакет Microsoft unixodbc-dev на все машины с ArcGIS Server .

Регистрация базы данных

Если вы хотите, чтобы публикуемые на ArcGIS Server сервисы использовали данные из базы данных или базы геоданных SQL Server , необходимо зарегистрировать базу данных на сайте ArcGIS Server . См. раздел Управление зарегистрированными хранилищами данных в справочной системе ArcGIS Pro , Регистрация ваших данных на ArcGIS Server в Server Manager или Добавление элементов в руководстве пользователя портала ArcGIS Enterprise для получения инструкций .

Подключение к SQL Server на C# для чайника

Visual Studio 2012 Ultimate поставил, вместе с ней поставился SQL Server 2012.
Итак. Задача: подключиться к SQL Server, создать новую локальную базу данных, выполнить скрипт создания базы из файла «database.sql» (создание таблиц, процедур и т. п.).

SqlConnection sqlConnection = new SqlConnection(); sqlConnection = new SqlConnection("Data Source=localhost; Integrated Security=SSPI; Initial Catalog=testdb;"); sqlConnection.Open(); MyClass.scriptExecute(sqlConnection, "database.sql"); sqlConnection.Close(); sqlConnection.Dispose(); 

Проблема: судя по всему, в строке подключения, а скорее всего — в имени сервера. Объясните на пальцах, пожалуйста, что там писать? В голове каша, не понимаю ни фига.
Перепробовал варианты названия сервера с MSDN и ConnectionString — все время какие-то ошибки. Варианты: localhost, (localhost), (local), localdb, (localdb), (localdb)\v.11, еще какие-то были, и уже совершенно запутался в них всех. Есть варианты подключения к Server Instance — это что еще за хрень? Тоже не пойму.
Как мне объяснили, логин-пароль указывать не надо при создании базы, кажется, используется аутенфикация Windows, но я опять же толком не понял о чем речь. Спасибо всем за помощь.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *