データベースから接続文字列を取得する方法


197

SQL Server Management Studioでデータベースを作成しました。これをC#アプリケーションで使用したいと思います。接続文字列が必要ですか?

接続文字列はどこにあり、データベースはどこに保存されていますか?

それを公開する必要がありますか、それともそのようなものですか、それとも私のドキュメントのどこかにありますか?

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

接続文字列を取得するにはどうすればよいですか?上記のセクションにコピーして貼り付ける接続文字列はどこにありますか?

Visual Studioがデータベースを取得できるようにデータベースを公開するにはどうすればよいですか?次に、そこの接続文字列をプルするだけですか?


回答:


201

接続文字列を取得する最も簡単な方法は、Visual Studioの[ サーバーエクスプローラー ]ウィンドウ(メニューの[表示][ サーバーエクスプローラー])を使用して、そのウィンドウからサーバーに接続することです。

次に、接続されたサーバーのプロパティで接続文字列を確認できます(接続を選択してF4またはAlt + Enterを押すか、右クリックメニューで[プロパティ]を選択します)。

接続文字列の詳細設定:接続を作成するときに、MARS、復元力、timeot、プーリング構成など、接続文字列の詳細オプションを変更できます。接続の追加」ダイアログ。このダイアログにアクセスするには、データ接続を右クリックし、[接続の変更...]を選択します。利用可能な詳細オプションは、サーバーの種類によって異なります。

SQL Server Management Studioを使用してデータベースを作成する場合、データベースはサーバーインスタンスに作成されます。そのため、アプリケーションをデプロイするには、データベースのバックアップを作成し、それをデプロイメントSQL Serverにデプロイする必要があります。または、SQL Server Express(SQL Server 2012のlocalDB)を使用してデータファイルを使用することもできます。これは、アプリと共に簡単に配布されます。

つまり、ASP.NETアプリの場合、App_Datafolderがあります。右クリックすると、SQL Serverデータベースなどの新しい要素を追加できます。このファイルはそのフォルダーにあり、SQL Expressで動作し、展開が簡単です。これを機能させるには、マシンにSQL Express / localDBをインストールする必要があります。


2
私はこの方法を理解し、それが好きです:Dですが、バックアップを作成して展開する方法について詳しく説明してもらえますか?MS SQL Serverに関する私の知識が悪い、私はそれを約1時間前に使い始めました:\
Pomster

realsqlサーバーはありますか?sql server expressを使用しますか?SQL Server Compact Editionで十分ですか?追加の情報を提供しないと、使用できるものを取得できません
JotaBe

1
MS SQl Server Management Studio 2008、MS SQL Management Studioを使用してデータベースを作成しました。クエリを使用していくつかの列を作成しました。今私はそれを私のC#アプリで
埋めたい

このアプリはデプロイされますか?ローカルで使用しますか?必要なサーバーの種類を気にしますか?データベースをどのように作成したかを知る必要はありませんが、どこで、なぜですか。何が必要かわからない!!!
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/


これが機能しない場合、レジストリを変更してUDL拡張機能を有効/無効にするいくつかのregファイルがあります。通常、Windowsフォルダーで* .regを検索します。
AMissico、2015年

Web構成ファイルのyoutu.be/1WgO7CDSmu8
ご覧ください

20

connectionstrings.comあなたは、すべてのDBプロバイダの接続文字列を見つけることができます。接続文字列は、特定の属性/プロパティとその値で構築されます。SQL Server 2008の場合、次のようになります(ここで必要になるのは標準です)。

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

myServerAddress、インストールしたインスタンスの名前を書き込みます(デフォルトでは.\SQLEXPRESS、SQL Server Expressエディション用です)。初期カタログ=データベース名。接続後、左側のSSMSに表示されます。残りはそれ自体のために語っています。

編集する

Windows認証ではユーザー名とパスワードを省略して、を追加する必要がありますIntegrated Security=SSPI


11

MS SQL ServerとManagement Studioをインストールしてセットアップしている場合は、Visual Studioに移動します(SQL Server Management StudioではなくVisual 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で接続を設定する必要はありません。
ロビノ2016年

これは、超創造的でありながら効果的な方法です。前提条件の依存関係を必要としないため、私は最初にそれを試しました。ありがとうございました。
トッド

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 Serverデータベースが格納されます、次のパスにデフォルトで

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

ここ<drive>で、はインストールドライブ、Xはインスタンス番号(データベースエンジンの最初のインスタンスのMSSQL.1)です。接続文字列を提供するためには、SQLサーバーデータベースのサーバー名が何であるかを知っている必要があります。ここに、データベースサーバーのインスタンスが続きます。

通常、サーバー名はデータベースが接続されているマシンのIPアドレスのようになり、デフォルトのインスタンスはSqlExpressになります

接続文字列が含まれているデータソース名、すなわち、サーバ名、初期カタログつまり、データベース名、ユーザID、すなわち、データベースのログインユーザID、パスワードすなわち、データベースのログインパスワードを。


1
接続文字列を取得するにはどうすればよいですか?
ポムスター

1
Program files \ Microsoft SQl Serverを調べましたが、何を探しているのかわかりません。
Pomster

データベースストレージフォルダーを探す必要はありません。接続文字列に指定したリンクを参照して、接続文字列を記述してください。
サイカリヤンクマールアクシンタラ2012年

0

プロジェクトで接続マネージャーを作成した場合は、そこから接続文字列をプルするだけです。

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

そして、この接続を以下で使用します。

using (var conn = new SqlConnection(connection))

私が間違っていたら訂正してください。


0

私の友達の最も簡単な方法は、Visual Studio 2019(私の場合)でサーバーエクスプローラーのタブを開き、データベースへの接続を作成することです。成功した接続を作成した後、それを右クリックしてプロパティに移動します。そこに正しい構文の文字列接続フィールドがあります!...私のサーバー名を事前に知っていたのでこれは私にとってはうまくいきました...私のef足場を実行するための正しい構文を理解できなかっただけです...


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

2
これはOPの質問にどのように答えますか?
Filburt、2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.