私はC#アプリをMDF=データベースに初めて接続することを試みていますが、少し助けが必要です..
Visual Studio 2010で小さなMDFデータベースファイルを作成してから、別のプロジェクトを作成し、そのファイルをプロジェクト自体にインポートしました。
MDFファイルにコード経由で接続しようとはしていません。ここで使用しているコードは次のとおりです。
namespace DBtestApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
System.Data.SqlClient.SqlConnection con;
private void Form1_Load(object sender, EventArgs e)
{
con = new System.Data.SqlClient.SqlConnection();
con.ConnectionString = "DataSource=.\\SQLEXPRESS; AttachDbFilename =SampleDatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
con.Open();
MessageBox.Show("Connection opened");
con.Close();
MessageBox.Show("Connection closed");
}
}
}
アプリケーションを実行すると、接続文字列を定義する行で例外が発生し、例外のスタックの一番上にこのメッセージが表示されます。
System.ArgumentException: Keyword not supported: 'datasource'.
誰かが私を正しい方向に向けることができますか?
Data Source
の間にスペースを追加します
con.ConnectionString = @"Data Source=.\SQLEXPRESS;
AttachDbFilename=c:\folder\SampleDatabase.mdf;
Integrated Security=True;
Connect Timeout=30;
User Instance=True";
サーバーエクスプローラー>データベース>右クリック>プロパティ> ConnectionStringに移動し、接続文字列をコピーして、コピーしたconnectiongstringコードを過ぎます:)
string sqlCon = @"Data Source=.\SQLEXPRESS;" +
@"AttachDbFilename=|DataDirectory|\SampleDB.mdf;
Integrated Security=True;
Connect Timeout=30;
User Instance=True";
SqlConnection Con = new SqlConnection(sqlCon);
ファイルパスにはDataDirectoryが必要です。これは実際に「現在のプロジェクトディレクトリ\ App_Data \」または「現在のプロジェクトディレクトリ」にリンクし、.mdfファイルを取得します。これらの場所は、Visual Studio 2010で機能するはずです。実稼働システムでスタンドアロンアプリケーションを使用する場合、実行可能ファイルの現在のパスには.mdfファイルが必要です。
Visual Studio 2015の接続文字列は次のとおりです。
"Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|Database1.mdf;Integrated Security=True"
Server=.\SQLExpress;AttachDbFilename=c:\mydbfile.mdf;Database=dbname; Trusted_Connection=Yes;
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\Samples\MyApp\C#\bin\Debug\Login.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
これは私のために働いています...パスを短くする方法はありますか?お気に入り
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=\bin\Debug\Login.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");