私はweb.configファイル(Visual Studio 2008/ASP.NET 3.5)の接続文字列をローカルサーバー(SQL Server 2008)に設定しようとしています。
私のweb.configで、接続文字列をどのように、どこに配置すればよいですか?
これがweb.configファイルの現在の状態です。 http://imwired.net/aspnet/Online_web.config
あなたもこれを使うことができます、それはより単純です。あなたが設定する必要がある唯一のものは "YourDataBaseName"です。
<connectionStrings>
<add name="ConnStringDb1" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
<?xml version='1.0' encoding='utf-8'?>
<configuration>
<connectionStrings>
<clear />
<add name="Name"
providerName="System.Data.ProviderName"
connectionString="Valid Connection String;" />
</connectionStrings>
</configuration>
どういうわけか私はここで簡単な答えを見ていません。
これをあなたのコードの一番上に置いてください。
using System.Web.Configuration;
using System.Data.SqlClient;
これをWeb.Configに入れます。
<connectionStrings >
<add
name="myConnectionString"
connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
そして接続変数を設定したい場所:
SqlConnection con = new SqlConnection(
WebConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
私はこれを答えるのは非常に難しいと思いましたが、結局それを考え出しました。それで、私は以下のステップを書きます。
接続文字列をコードで設定する前に、実際にデータベースにアクセスできることを確認してください。 SSMS(Sql Server Management Studioまたは他のデータベースでも同等のもの)を使用してデータベースサーバーにローカルでログインし、使用する予定の詳細を使用してアクセスできるようにします。
次に(必要な場合)、別のサーバー上のデータベースにアクセスしようとしている場合は、SSMSでも同様にできることを確認してください。そのため、コンピュータにSSMSをセットアップし、そのデータベースサーバーへのユーザー名とパスワードでサーバーにアクセスできることを確認します。
上記の2つの権利を得なければ、データベースにアクセスできないので時間を無駄にしていることになります。これは、セットアップしたユーザーが間違っている、リモートアクセスが有効になっていない(必要に応じて)、またはポートが開かれていない(必要に応じて)などの理由が考えられますが、最も一般的です。
SSMSを使用してデータベースにアクセスできることを確認したら。次のステップは、プロセスを自動化して間違いを防ぐためだけに、システムに作業を任せることです。
それではWeb設定に行ってください、そして魔法のように、あなたはあなたが必要とするすべての詳細をそこに素敵できれいに働く接続文字列を見るでしょう。
{以下は古い投稿の一部なので無視してかまいません。後ろのコードからデータベースにアクセスするための最も基本的な方法として参照用に残しておきます。下にスクロールして、次の手順2から続けてください。 }
上記の手順で、コードビハインドの接続文字列として次のようなものから始めるとしましょう。
string conString = "Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;";
このステップはとても重要です。次の手順を実行する前に、上記の形式の接続文字列が機能していることを確認してください。これは接続文字列を作成するための最も簡単な方法であるため、ラベルやテキストの凡例などの表からデータを表示する何らかの形式のsqlコマンドテキストを使用して実際にデータにアクセスできることを確認します。
上記のスタイルがうまくいったことを確認したら、今度は次のステップを実行します。
1.文字列リテラル(引用符で囲んだもの、を引用符で囲むを含む)をweb.configファイルの次のセクションにエクスポートします(複数の接続文字列の場合は、複数の行を入力します)。
<configuration>
<connectionStrings>
<add name="conString" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
<add name="conString2" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
<add name="conString3" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
{上記は古い投稿の一部でした。上位3つの手順を実行した後、このプロセス全体が自動的に実行されるため、無視してかまいません。参照用にここに残しておきます。 }
2.クラス定義のすぐ下(つまり、メソッドの内側ではない)のC#コードの後ろに次のコード行を追加します。これはプロジェクトのルートフォルダを指します。基本的にはプロジェクト名です。これは通常web.configファイルの場所です(この場合、私のプロジェクトはMyProjectと呼ばれます)。
static Configuration rootWebConfig = WebConfigurationManager.OpenWebConfiguration("/MyProject");
3.次のコードをC#コードの後ろに追加します。これにより、さまざまなメソッドでconStringが必要になった場合に、コード全体のさまざまな場所で参照できる文字列定数が設定されます。
const string CONSTRINGNAME = "conString";
4.次に、後ろのC#コードに次のコードを追加します。これは、conStringという名前のweb.configファイルから(上記の定数から)接続文字列を取得します。
ConnectionStringSettings conString = rootWebConfig.ConnectionStrings.ConnectionStrings[CONSTRINGNAME];
5.最後に、元々このコード行のようなものがあったとします。
SqlConnection con = new SqlConnection(conString)
これを次のコード行に置き換えます。
SqlConnection con = new SqlConnection(conString.ConnectionString)
これら5つのステップを実行した後、あなたのコードは以前と同じように動作するはずです。接続文字列に問題があるのか、それともコードに問題があるのかがわかるように、最初に元の形式で文字列をテストする理由を明確にします。
私はC#、ASP.Net、そしてSql Serverが初めてです。だから私はこのコードを実行するためのより良い方法がなければならないと確信しています。可能であれば、これらのステップをどのように改善するかについてのフィードバックも不安に思うでしょう。私はこのようなことを全面的に調べました、しかし私は結局何週間ものハードワークの後にそれを考え出しました。自分で見ても、もっと簡単な方法があるはずです。
これが役に立つことを願っています。
これは<configuration>
ノード内になければなりません。
<connectionStrings >
<add name="myconnectionstring" connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;" providerName="System.Data.SqlClient"/>
</connectionStrings>
this site に詳しい情報があります。
ヘッダーに
using System.Configuration;
コード内
SqlConnection conn = new SqlConnection(*ConfigurationManager.ConnectionStrings["connstrname"].ConnectionString*);
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=192.168.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com" providerName="System.Data.SqlClient" />
</connectionStrings>
public static string ConnectionString{
get{
return ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;}
set{}
接続文字列セクションを指定するために外部設定ファイルを使用することもでき、web.config
のようにアプリケーション設定ファイルでそのファイルを参照することもできます。
web.config
ファイルのように:
<configuration>
<connectionStrings configSource="connections.config"/>
</configuration>
外部設定のconnections.config
ファイルはconnectionsセクションを含みます
<connectionStrings>
<add name="Name"
providerName="System.Data.ProviderName"
connectionString="Valid Connection String;" />
</connectionStrings>
外部設定ファイルの内容を変更してもアプリケーションは再起動されません(ASP.netはデフォルトでアプリケーション設定ファイルを変更した場合)。
次の形式を使用できます。
<connectionStrings>
<add name="ConStringBDName" connectionString="Data Source=serverpath;Initial Catalog=YourDataBaseName;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
</connectionStrings>
たぶんあなたは<appSettings>
の後にweb.configのconnectionstringタグを見つけるでしょう
これを試してみてください。
あなたがWeb.configに接続文字列を書きたいなら、与えられた文字列の下に書いてください
<connectionStrings>
<add name="Conn" connectionString="Data Source=192.168.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com"
providerName="System.Data.SqlClient" />
</connectionStrings>
OR
あなたはaspx.csファイルのように正しい
SqlConnection conn = new SqlConnection("Data Source=12.16.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com");
これをweb.config
ファイルconnectionStrings
に入れることができます。
<add name="myConnectionString" connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;" providerName="System.Data.SqlClient"/>
これを試すことができます。とても簡単です
<connectionStrings>
<add name="conString" connectionString="Data Source=SQLServerAddress;Initial Catalog=YourDatabaseName; User Id=SQLServerLoginId; Password=SQLServerPassword"/>
</connectionStrings>