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


197

Я создал базу данных с помощью SQL Server Management Studio, и теперь я хотел бы использовать ее в своем приложении C #. Мне нужна строка подключения?

Где я могу найти строку подключения и где хранится моя база данных?

Должен ли я публиковать это или что-то подобное, или это где-то в моих документах?

using (var conn = new SqlConnection("your connection string to the database"))

Как получить строку подключения ? Где я могу найти строку подключения, чтобы скопировать вставить в вышеупомянутый раздел?

Как мне опубликовать свою базу данных, чтобы Visual Studio могла ее взять? Тогда я могу просто вытащить строку подключения там?


Посмотрите, как генерировать строку подключения youtu.be/1WgO7CDSmu8
anomepani

Ответы:


201

Самый простой способ получить строку подключения - использовать окно «Обозреватель серверов» в Visual Studio (меню « Вид» , « Обозреватель серверов» ) и подключиться к серверу из этого окна.

Затем вы можете увидеть строку подключения в свойствах подключенного сервера (выберите подключение и нажмите F4 или Alt + Enter или выберите Свойства в меню правой кнопки мыши).

Расширенные настройки строки подключения: при создании подключения вы можете изменить любой из дополнительных параметров строки подключения, таких как MARS, устойчивость, timeot, конфигурация пула и т. Д., Нажав кнопку «Дополнительно ...» в нижней части « «Добавить соединение». Вы можете получить доступ к этому диалоговому окну позже, щелкнув правой кнопкой мыши Data Connection и выбрав «Изменить соединение ...». Доступные дополнительные параметры зависят от типа сервера.

Если вы создаете базу данных с помощью SQL Server Management Studio, база данных будет создана в экземпляре сервера, поэтому для развертывания приложения вам потребуется создать резервную копию базы данных и развернуть ее в развертывании SQL Server. Кроме того, вы можете использовать файл данных с помощью SQL Server Express (localDB в SQL Server 2012), который будет легко распространяться вместе с вашим приложением.

Т.е. если это приложение ASP.NET, то есть папка App_Datafolder. Если вы щелкните по нему правой кнопкой мыши, вы можете добавить новый элемент, который может быть базой данных SQL Server. Этот файл будет находиться в этой папке, будет работать с SQL Express и будет прост в развертывании. Вам нужно установить SQL Express / localDB на вашем компьютере, чтобы это работало.


2
Я так понимаю, и мне это нравится: D, но не могли бы вы объяснить подробнее, как сделать резервную копию, а затем развернуть? мои знания MS SQL Server плохие, я начал использовать его около часа назад: \
Pomster

Есть ли сервер realsql? Вы будете использовать SQL Server Express? достаточно ли этого с SQL Server Compact Edition? Мы не можем получить то, что вы можете использовать, если вы не предоставите дополнительную информацию
JotaBe

1
Для создания базы данных я использовал MS SQl Server Management Studio 2008, MS SQL Management studio. Я использовал запрос для создания некоторых столбцов. Теперь я хочу заполнить его своим C # приложением
Pomster

Будет ли это приложение развернуто? Будете ли вы использовать его локально? Вы не против того, какой сервер нужен? Мне не нужно знать, как вы сделали свою базу данных, но где и почему. Я не могу угадать, что вам нужно !!!
JotaBe

Я буду использовать это локально, я не знаю, что вы просите меня дать вам?
Помстер

113

Очень простой способ получить строку подключения, это создать текстовый файл, изменить расширение с .txt на .udl .

Если дважды щелкнуть файл .udl , откроется мастер свойств связей данных .

Настройте и протестируйте соединение с вашим сервером базы данных.

Закройте мастер и откройте файл .udl в любом текстовом редакторе и просто скопируйте строку подключения (без Provider=<driver>детали), чтобы использовать ее в приложении C #.

пример содержимого файла udl

[oledb]
; Everything after this line is an OLE DB initstring
Provider=SQLNCLI11.1;Integrated Security=SSPI;Persist Security Info=False;User ID="";Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME;Initial File Name="";Server SPN=""

что нужно скопировать с него

Integrated Security=SSPI;Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME;

Если вы хотите указать имя пользователя и пароль, вы можете принять другие ответы.

Учебное пособие: https://teusje.wordpress.com/2012/02/21/how-to-test-an-sql-server-connection/


Если это не работает, есть некоторые файлы reg, которые внесут изменения в реестр, чтобы включить / отключить расширение UDL. Я обычно ищу в папке Windows * .reg.
AMissico

Взгляните создавать и сохранять строки подключения в файле конфигурации веб youtu.be/1WgO7CDSmu8
anomepani

20

На connectionstrings.com вы можете найти строку подключения для каждого поставщика БД. Строка подключения создается с определенными атрибутами / свойствами и их значениями. Для SQL Server 2008 это выглядит следующим образом (стандартный, который вам здесь нужен):

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

на myServerAddress, напишите имя вашего установленного экземпляра (по умолчанию это .\SQLEXPRESSдля SQL Server Express Edition). Начальный каталог = имя вашей базы данных, вы увидите его в SSMS слева после подключения. Остальное говорит само за себя.

редактировать

Вам нужно будет пропустить имя пользователя и пароль для проверки подлинности Windows и добавить Integrated Security=SSPI.


11

Если вы установили и настроили MS SQL Server и Management Studio, перейдите в Visual Studio (Visual Studio не SQL Server Management Studio).

1] В Visual Studio перейдите в Инструменты -> Подключиться к базе данных .

2] В поле «Имя сервера» выберите имя сервера базы данных (пусть список заполнится, если это займет время).

3] В разделе «Подключение к базе данных» выберите « Выбрать» или введите имя базы данных .

4] Выберите вашу базу данных из выпадающего списка.

5] После выбора базы данных попробуйте проверить соединение.

6] Если проверка соединения прошла успешно, нажмите Ok.

7] В Visual Studio перейдите в Вид -> Обозреватель серверов .

8] В окне обозревателя серверов в разделе «Подключения к данным» выберите свою базу данных. Щелкните правой кнопкой мыши вашу базу данных -> Нажмите Свойства .

9] В окне « Свойства» вы увидите строку подключения .


9

Мое решение было использовать (2010).

На новом листе выберите ячейку, затем:

Data -> From Other Sources -> From SQL Server 

положить в имени сервера , выберите таблицу , и т.д.,

Когда вы попадаете в диалоговое окно «Импорт данных»,
щелкните Propertiesв диалоговом окне «Свойства соединения» и
выберите вкладку «Определение».

И там Excel прекрасно отображает строку подключения для копирования
(или даже экспорт файла подключения ... )


Это работает отлично и не требует настройки соединения в VS.
Робино

Ха-ха, это супер-креативный, но эффективный способ получить это. Сначала я попробовал просто потому, что он не требовал каких-либо предварительных зависимостей. Спасибо.
Тодд

3

поставить тег ниже в файле web.config в узле конфигурации

 <connectionStrings>
<add name="NameOFConnectionString" connectionString="Data Source=Server;Initial Catalog=DatabaseName;User ID=User;Password=Pwd"
  providerName="System.Data.SqlClient" />

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

SqlConnection con = new SqlConnection();
            con.ConnectionString = ConfigurationManager.ConnectionStrings["NameOFConnectionString"].ToString();

3

Если кто-то использует инструмент Linqpad, после подключения к целевой базе данных из соединений можно получить строку подключения для использования.

  1. Щелкните правой кнопкой мыши на соединение с базой данных.
  2. Выбрать Properties
  3. Выбрать Advanced
  4. Выбрать Copy Full Connection String to Clipboard

Результат: Data Source=.\jabberwocky;Integrated Security=SSPI;Initial Catalog=Rasa;app=LINQPad

введите описание изображения здесь


Удалите app=LinqPadзависимости от драйверов и других элементов, например, Serverвместо источника вам может потребоваться настроить драйвер в соответствии с целевой операцией; но это дает стартовую площадку.


2
Я одобряю этот пост
Jabberwocky

1

База данных сервера SQL будет храниться по умолчанию в следующем пути

<drive>:\Program Files\Microsoft SQL Server\MSSQL.X\MSSQL\Data\

где <drive>- диск установки, а X - номер экземпляра (MSSQL.1 для первого экземпляра компонента Database Engine). Чтобы указать строку подключения, вы должны знать, каково имя сервера базы данных sql server, где вы сохранили, за которым следует экземпляр сервера базы данных.

Обычно имя сервера будет похоже на IP-адрес компьютера, к которому подключена база данных, а экземпляром по умолчанию будет SqlExpress.

Строка подключения содержит источник данных имени т.е. имя сервера, Initial каталог т.е. имя базы данных, идентификатор пользователя , т.е. авторизироваться идентификатор пользователя базы данных, пароль то есть пароль для входа в базе данных.


1
Как получить строку подключения?
Помстер

1
Я заглянул в Program Files \ Microsoft SQl Server, и я понятия не имею, что я ищу?
Помстер

Вам не нужно искать папку для хранения базы данных, посмотрите ссылку, которую я дал для строки подключения, и напишите строку подключения.
Саи Калян Кумар Аксинтхала

0

Если вы создали диспетчер подключений в своем проекте, вы можете просто извлечь строку подключения оттуда.

String connection = this.dts.connections["<connection_manager_name>"];

И используйте это соединение в:

using (var conn = new SqlConnection(connection))

Пожалуйста, поправьте меня, если я ошибаюсь.


0

Самый простой способ, друзья, это открыть вкладку «Обозреватель серверов» в Visual Studio 2019 (в моем случае), а затем попытаться создать соединение с базой данных. После создания успешного соединения просто щелкните по нему правой кнопкой мыши и перейдите к свойствам. Там вы найдете строковое поле подключения с правильным синтаксисом! ... Это сработало для меня, потому что я знал имя моего сервера до этого ... просто не мог определить правильный синтаксис для запуска моего ef scaffold ...


-2
SqlConnection con = new SqlConnection();
con.ConnectionString="Data Source=DOTNET-PC\\SQLEXPRESS;Initial Catalog=apptivator;Integrated Security=True";

2
Как это отвечает на вопрос ОП?
Филбурт
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.