как узнать connection string ms sql server
Как узнать строку для подключения
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Как изменить строку подключения для Dataset’ов?
Здравсвуйте, крик отчаяния. Перечитал все темы, не могу сделать. И так: у меня есть программа, на.
Как получить строку подключения к БД?
Здравствуйте ребята! Подскажите пожалуйста как в C# (Framework 4.6.1) получить строку.
Как прописать строку подключения к БД Access
Выдаёт предупреждение при попытки соединить VS с базой данных Акцесс. Вот текст сообщения.
Как изменить строку подключения fioConnectionString?
Сейчас так Provider=Microsoft.Jet.OLEDB.4.0 ; Data Source=|DataDirectory|\fio.mdb Как ее можно.
Sylar9, дальше исходя из настроек сервера и своих потребностей. Чаще всего встречаются сценарии которые там названы «Trusted Connection» и «Standard Security».
Также можешь воспользоваться окном Server Explorer в Visual Studio. Создаешь новый Data Connection. Убеждаешься что он работает с помощью кнопки «Test Connection» и затем, в этом же диалоге, нажимаешь Advanced и внизу будет строка соединения.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Как получить строку подключения из app.config?
Пытаюсь получить строку подключения, код простой и в docs.microsoft.com описанный: string.
Как подключить строку подключения из конфигурационного файла к проекту
Добрый день! Мне нужно подключить строку подключения из файла app.config к приложению базы данных.
Как подставить выбранный IP из combobox в строку подключения к БД sqlConnection?
Добрый день! Прошу провести ликбез.. Есть программа, подключается к БД на основе жестко.
Строка подключения для MS SQL Server
Для работы с MS SQL Server естественно нам потребуется MS SQL Server. Можно выбрать как полноценный MS SQL Server (в весиях Enterprise, Developer), так и MS SQL Server Express.
Про установку MS SQL Server в выпусках Developer или Express можно почитать в статье Установка MS SQL Server 2019
Также можно использовать специально предназначенный для целей разработки и тестирования легковесный движок MS SQL Server Express LocalDB, про установку которого можно почитать в статье Установка SQL Server Express LocalDB.
Прежде всего, определение строки подключения зависит от типа подключения: либо мы подлючаемся по логину и паролю, либо мы используем доверенное подключение (trusted connection), где не требуются логин и пароль (например, при подключении к локальному серверу SQL Server).
Если подключение производится по логину и паролю, то общий вид строки подключения выглядит следующим образом:
В данном случае строка подключения состоит из четырех параметров:
Server : указывает на название сервера
Database : указывает на название базы данных на сервере
Если мы используем так называемое доверенное подключение (trusted connection) и применяем аутентификацию Windwows, например, при подключении к локальному серверу, который запущен на том же компьютере, то строка подключения в общем виде выглядит следующим образом:
Список основных параметров строки подключения, которые могут использоваться:
Application Name : название приложения. Может принимать в качестве значения любую строку. Значение по умолчанию: «.Net SqlClient Data Provide»
AttachDBFileName : хранит полный путь к прикрепляемой базе данных
Connect Timeout : временной период в секундах, через который ожидается установка подключения. Принимает одно из значений из интервала 0–32767. По умолчанию равно 15.
В качестве альтернативного названия параметра может использоваться Connection Timeout
Server : название экземпляра SQL Servera, с которым будет идти взаимодействие. Это может быть название локального сервера, например, «./SQLEXPRESS», «localhost», либо сетевой адрес.
Database : хранит имя базы данных
В качестве альтернативного названия параметра можно использовать Initial Catalog
В качестве альтернативного названия параметра может использоваться Integrated Security
Packet Size : размер сетевого пакета в байтах. Может принимать значение, которое кратно 512. По умолчанию равно 8192
Password : пароль пользователя
User ID : логин пользователя
В данном случае мы будем использовать к локальному серверу. Если мы подключаемся к полноценному серверу MS SQL Server (например, версия Developer Edition), то в качестве адреса сервера, как правило, выступает localhost :
Для подключения к localdb применяется адрес (localdb)\mssqllocaldb :
Синтаксис строки подключения
Построители строк подключения
Поставщик данных Microsoft SqlClient для SQL Server предоставляет описанный ниже построитель строк подключения.
Построители строк соединения позволяют создавать во время выполнения синтаксически правильные строки соединения, и поэтому в коде не требуется вручную объединять значения строк соединения. Дополнительные сведения см. в статье Connection String Builders (Построители строк подключения).
Проверка подлинности Windows
Для соединения с источниками данных рекомендуется использовать проверку подлинности Windows (которую также называют встроенной безопасностью), если эти источники ее поддерживают. В следующей таблице демонстрируется синтаксис проверки подлинности Windows, который используется в поставщике данных Microsoft SqlClient для SQL Server.
Поставщик | Синтаксис |
---|---|
SqlClient | Integrated Security=true; Integrated Security=SSPI; |
Строки подключений SqlClient
Синтаксис для строки подключения SqlConnection документирован в свойстве SqlConnection.ConnectionString. Свойство ConnectionString используется для возврата или задания строки подключения для базы данных SQL Server. Кроме того, ключевые слова строки подключения сопоставляются со свойствами в SqlConnectionStringBuilder.
Проверка подлинности Windows при работе с SqlClient.
Все следующие формы синтаксиса используют для подключения к базе данных AdventureWorks, размещенной на локальном сервере, проверку подлинности Windows.
Проверка подлинности SQL Server с использованием SqlClient.
Для соединения с SQL Server предпочтительно использовать проверку подлинности Windows. Однако если требуется проверка подлинности SQL Server, то имя пользователя и пароль указываются с помощью приведенного ниже синтаксиса. В этом примере символы звездочки представляют допустимое имя пользователя и пароль.
Проверка подлинности Windows имеет приоритет над именами входа SQL Server. Если указать значение Integrated Security=true, а также ввести имя пользователя и пароль, то имя пользователя и пароль не будут учитываться и будет применяться проверка подлинности Windows.
Подключение к именованному экземпляру SQL Server
Чтобы подключиться к именованному экземпляру SQL Server, используйте синтаксис имя_сервера\имя_экземпляра.
Кроме того, в свойстве DataSource объекта SqlConnectionStringBuilder можно задать имя экземпляра при построении строки подключения. Свойство DataSource объекта SqlConnection доступно только для чтения.
Изменения в версии системы типов
Подключение к пользовательским экземплярам SQL Server Express и их присоединение
Пользовательские экземпляры являются одной из возможностей SQL Server Express. Они дают пользователям под учетной записью с минимальными правами возможность присоединить и запустить базу данных SQL Server без прав администратора. Пользовательский экземпляр выполняется с учетными данными пользователя Windows, а не службы.
Использование TrustServerCertificate
Включение шифрования
Чтобы включить шифрование, когда на сервере не представлен сертификат, в диспетчере конфигурации SQL Server необходимо настроить параметры Принудительное шифрование протокола и Доверять сертификату сервера. В этом случае шифрование будет использовать самозаверяющий сертификат сервера, не проверяя наличия подтверждаемого сертификата сервера.
В следующей таблице перечислены все случаи.
Как узнать connection string ms sql server
После определения источника данных мы можем к нему подключаться. Для этого создадим проект простого консольного приложения.
Первым делом нам надо определить строку подключения, предоставляющая информацию о базе данных и сервере, к которым предстоит установить подключение:
Data Source : указывает на название сервера. По умолчанию это «.\SQLEXPRESS». Поскольку в строке используется слеш, то в начале строки ставится символ @. Если имя сервера базы данных отличается, то соответственно его и надо использовать.
Initial Catalog : указывает на название базы данных на сервере
Integrated Security : устанавливает проверку подлинности
В нашем случае, так как мы создали проект консольного приложения, то у нас в проекте должен быть файл App.config, который на данный момент имеет следующее определение:
Изменим его, добавив определение строки подключения:
Атрибут connectionString собственно хранит строку подключения, то есть весь тот текст, который мы выше определяли в методе Main. И третий атрибут providerName задает пространство имен провайдера данных. Так как мы будем подключаться к базе данных MS SQL Server, то соответственно мы будем использовать провайдер для SQL Server, функциональность которого заключена в пространстве имен System.Data.SqlClient.
Теперь получим эту строку подключения в приложении:
С помощью объекта ConfigurationManager.ConnectionStrings[«название_строки_подключения»] мы можем получить строку подключения и использовать ее в приложении.
Параметры строки подключения
Application Name : название приложения. Может принимать в качестве значения любую строку. Значение по умолчанию: «.Net SqlClient Data Provide»
AttachDBFileName : хранит полный путь к прикрепляемой базе данных
Connect Timeout : временной период в секундах, через который ожидается установка подключения. Принимает одно из значений из интервала 0–32767. По умолчанию равно 15.
В качестве альтернативного названия параметра может использоваться Connection Timeout
Data Source : название экземпляра SQL Servera, с которым будет идти взаимодействие. Это может быть название локального сервера, например, «EUGENEPC/SQLEXPRESS», либо сетевой адрес.
Initial Catalog : хранит имя базы данных
В качестве альтернативного названия параметра можно использовать Database
В качестве альтернативного названия параметра может использоваться Trusted_Connection
Packet Size : размер сетевого пакета в байтах. Может принимать значение, которое кратно 512. По умолчанию равно 8192
Password : пароль пользователя
User ID : логин пользователя
Например,если для подключения необходим логин и пароль, то мы можем их передать в строку подключения через параметры user id и password :
Строки подключения и файлы конфигурации
Внедрение строк соединения в код приложения может привести к появлению уязвимых мест в системе безопасности и проблем с обслуживанием. Незашифрованные строки подключения, скомпилированные в исходный код приложения, можно просматривать с помощью средства Ildasm.exe (IL Disassembler). Кроме того, после изменения строки соединения необходимо перекомпилировать приложение. По этим причинам рекомендуется хранить строки соединения в файле конфигурации приложения.
Работа с файлами конфигурации приложения
Файлы конфигурации приложения содержат настройки, относящиеся к отдельному приложению. Например, приложение ASP.NET может иметь один или несколько файлов web.config, а приложение Windows — дополнительный файл app.config. В файлах конфигурации присутствуют общие элементы, хотя имя и расположение любого файла конфигурации в значительной степени зависят от того, где размещается приложение.
Раздел connectionStrings
Строки подключения могут храниться в виде пар «ключ/значение» в разделе connectionStrings элемента configuration файла конфигурации приложения. Дочерние элементы включают add, clear и remove.
Следующий фрагмент файла конфигурации демонстрирует схему и синтаксис хранения строки соединения. Атрибут name является именем, которое задано для уникальной идентификации строки подключения, чтобы ее можно было получить во время выполнения. providerName имеет значение Microsoft.Data.SqlClient (то есть поставщик данных Microsoft SqlClient для SQL Server).
Можно сохранить часть строки соединения в файле конфигурации и для ее дополнения во время выполнения использовать класс DbConnectionStringBuilder. Это удобно в сценариях, в которых заранее неизвестны элементы строки соединения или желательно не сохранять конфиденциальные данные в файле конфигурации. Дополнительные сведения см. в статье Connection String Builders (Построители строк подключения).
Использование внешних файлов конфигурации
Внешние файлы конфигурации представляют собой отдельные файлы, каждый из которых содержит фрагмент файла конфигурации, состоящий из одного раздела. В таком случае основной файл конфигурации ссылается на внешний файл конфигурации. Хранение раздела connectionStrings в физически отдельном файле становится удобным в ситуациях, когда может потребоваться внесение изменений в строки подключения после развертывания приложения. Например, в ASP.NET по умолчанию после изменения файлов конфигурации осуществляется перезапуск домена приложения, что приводит к потере сведений о состоянии. Но изменение внешнего файла конфигурации не вызывает перезапуск приложения. Возможность применения внешних файлов конфигурации не ограничивается ASP.NET; их можно также использовать в приложениях Windows. Кроме того, для ограничения доступа к внешним файлам конфигурации могут использоваться средства обеспечения безопасности доступа к файлам и разрешения. Работа с внешними файлами конфигурации во время выполнения осуществляется в прозрачном режиме и не требует разработки специального кода.
Для хранения строк подключения во внешнем файле конфигурации создайте отдельный файл, содержащий единственный раздел connectionStrings. Не следует включать какие-либо дополнительные элементы, разделы или атрибуты. В данном примере показан синтаксис внешнего файла конфигурации.
Получение строк соединения во время выполнения
Файл machine.config также содержит раздел connectionStrings, включающий строку подключения, используемую Visual Studio. При получении строк подключения из файла app.config приложения Windows с помощью имени поставщика в первую очередь загружаются строки подключений из файла machine.config, затем записи из файла app.config. Добавление ключевого слова clear сразу после элемента connectionStrings приводит к удалению из памяти всех ссылок, унаследованных от структуры данных, поэтому учитываются только строки подключений, определенные в локальном файле app.config.
Работа с файлами конфигурации
Вызывающему объекту для доступа к файлам конфигурации во время выполнения должны быть предоставлены разрешения. Требуемые разрешения зависят от типа приложения, файла конфигурации и расположения. Дополнительные сведения см. в разделах Использование классов конфигурации и WebConfigurationManager для приложений ASP.NET и ConfigurationManager для приложений Windows.
Для получения строк соединения из файлов конфигурации приложения используется ConnectionStringSettingsCollection. Этот объект содержит коллекцию объектов ConnectionStringSettings, каждый из которых представляет одну запись в разделе connectionStrings. Его свойства сопоставляются с атрибутами строк соединения, что позволяет получить строку соединения, указав имя строки или имя поставщика.
Свойство | Описание |
---|---|
Name | Имя строки соединения. Сопоставляется с атрибутом name. |
ProviderName | Полное имя поставщика. Сопоставляется с атрибутом providerName. |
ConnectionString | Строка подключения. Сопоставляется с атрибутом connectionString. |
Пример Вывод всех строк подключения
Файл System.Configuration.dll не включается в проекты всех типов, поэтому для использования классов конфигурации может потребоваться сформировать на него ссылку. Имя и расположение файла конфигурации определенного приложения зависит от типа приложения и процесса размещения.
Пример Получение строки подключения по имени
Данный пример демонстрирует способ получения строки соединения из файла конфигурации путем указания ее имени. Код создает объект ConnectionStringSettings, сопоставляя указанный входной параметр с именем ConnectionStrings. Если совпадающее имя не найдено, функция возвращает значение null ( Nothing в Visual Basic).
Пример Получение строки подключения по имени поставщика
В этом примере демонстрируется, как получить строку подключения путем указания имени поставщика в формате Microsoft.Data.SqlClient. В коде выполняется итерация по ConnectionStringSettingsCollection и происходит возврат строки соединения для первого найденного ProviderName. Если имя поставщика не найдено, функция возвращает значение null ( Nothing в Visual Basic).
Шифрование разделов файлов конфигурации с помощью защищенной конфигурации
В ASP.NET 2.0 появилась новая возможность, защищенная конфигурация, с помощью которой можно шифровать в файле конфигурации конфиденциальную информацию. Защищенная конфигурация разрабатывалась в первую очередь для ASP.NET, но ее можно также использовать для шифрования разделов файлов конфигурации в приложениях Windows. Подробное описание возможностей защищенной конфигурации см. в разделе Шифрование сведений о конфигурации с помощью функции защищенной конфигурации.
В приведенном ниже фрагменте файла конфигурации показан раздел connectionStrings после шифрования. В разделе configProtectionProvider задается поставщик защищенной конфигурации, который используется для шифрования и дешифрования строк подключения. Раздел EncryptedData содержит зашифрованный текст.
Защита поставщиков конфигурации
Поставщик | Описание |
---|---|
RsaProtectedConfigurationProvider | Использует алгоритм RSA для шифрования и расшифровки данных. Алгоритм RSA можно использовать для шифрования с открытым ключом и цифровых сигнатур. Он также известен как алгоритм с «открытым ключом» или алгоритм асимметричного шифрования, поскольку в нем используется два разных ключа. Для шифрования разделов в файле Web.config и управления ключами шифрования можно использовать средство регистрации служб IIS ASP.NET (Aspnet_regiis.exe). ASP.NET расшифровывает файл конфигурации при обработке файла. Удостоверение приложения ASP.NET должно иметь права на чтение ключа шифрования, который используется для шифрования и расшифровки зашифрованных разделов. |
DpapiProtectedConfigurationProvider | Использует API-интерфейс защиты данных (DPAPI) для шифрования разделов конфигурации. Он использует встроенные службы шифрования Windows и может быть настроен для защиты отдельных компьютеров или отдельных учетных записей пользователей. Защиту отдельных компьютеров удобно использовать для нескольких приложений на одном сервере, которым требуется совместное использование данных. Защиту учетных записей можно использовать со службами, выполняемыми с определенным удостоверением пользователя, например с общей средой размещения. Каждое приложение выполняется с отдельным идентификатором, что ограничивает доступ к таким ресурсам, как файлы и базы данных. |
Оба поставщика обеспечивают надежное шифрование данных. Однако, если планируется использовать один файл конфигурации на нескольких серверах, как в веб-ферме, то только RsaProtectedConfigurationProvider позволяет экспортировать ключи шифрования, применяемые для шифрования данных, и импортировать их в другой сервер. Дополнительные сведения см. в разделе Импорт и экспорт защищенных контейнеров ключей RSA для конфигурации.
Использование классов конфигурации
Пространство имен System.Security.Cryptography содержит классы, которые предоставляют дополнительные возможности шифрования и расшифровки данных. Эти классы можно использовать в том случае, если требуются криптографические службы, недоступные с использованием защищенной конфигурации. Некоторые из этих классов являются оболочками для Microsoft CryptoAPI, а другие представляют собой реализации полностью на управляемом коде. Дополнительные сведения см. в разделе Службы криптографии.
Пример App.config
Этот пример демонстрирует переключение шифрования раздела connectionStrings в файле app.config для приложения Windows. В этом примере процедура принимает имя приложения в качестве аргумента, например, «MyApplication.exe». Затем файл app.config зашифровывается и копируется в папку, которая содержит исполняемый файл с именем MyApplication.exe.config.
Строку соединения можно расшифровать только на компьютере, где она была зашифрована.