web-dev-qa-db-ja.com

MDFデータベースファイルに接続するにはどうすればよいですか?

私は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'.

誰かが私を正しい方向に向けることができますか?

14
Ahmad

Data Sourceの間にスペースを追加します

 con.ConnectionString = @"Data Source=.\SQLEXPRESS;
                          AttachDbFilename=c:\folder\SampleDatabase.mdf;
                          Integrated Security=True;
                          Connect Timeout=30;
                          User Instance=True";
28
adatapost

サーバーエクスプローラー>データベース>右クリック>プロパティ> ConnectionStringに移動し、接続文字列をコピーして、コピーしたconnectiongstringコードを過ぎます:)

11
Mahmmoud Qassem
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ファイルが必要です。

10
user1943915

Visual Studio 2015の接続文字列は次のとおりです。

"Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|Database1.mdf;Integrated Security=True"
5
July.Tech
Server=.\SQLExpress;AttachDbFilename=c:\mydbfile.mdf;Database=dbname; Trusted_Connection=Yes;
1
John Woo
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");
0
Mike James