私はプログラムをデバッグするか、または私のdevマシン上のどこでも使用すると、ローカルファイルデータベースに接続しようとしています。私は、ファイルを取り、別のマシン上でそれを実行しようとするたびに私はC#ローカルデータベースエラー50
エラー50を得るlocaldbに接続することはできません:ローカルデータベースのランタイムエラーが発生し、指定されたLocalDBインスタンスは、今
存在しません。私の問題は、私は問題の原因を知っている、私はちょうどそれを解決する方法を知らないです。
テストマシンにSQL Server Express 2016をインストールしましたが、localDbは初期化されません。私のDevのマシンで
、私は後藤 "C:\ Program Files \ MicrosoftのSQLサーバ\ 130 \ LocalDB" することができますしかし、私のテストマシン上私が唯一持っている「C:\ Program Files \ MicrosoftのSQLサーバ\ 130 \ "LocalDBはありません。
私は実際にSQL Serverインスタンスを作成するのではなく、ファイルを呼び出すだけですが(下のコードを参照してください)、SQL Serverのローカルインスタンスを初期化する方法はわかりません。私は検索し、さまざまな方法を試みたが、何も私のために働いていません。これは関係なく、私の地元のdevのマシン上で完璧に動作しない言及したように
public SqlConnection connectionOpen()
{
string databaseDirectory = Convert.ToString(Directory.GetCurrentDirectory() + @"\gameDatabase.mdf");
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @"Data Source =(LocalDB)\MSSQLLocalDB; AttachDbFilename ="+databaseDirectory +"; Integrated Security = True";
conn.Open();
return conn;
}
public void connectionClose()
{
string databaseDirectory = Convert.ToString(Directory.GetCurrentDirectory() + @"\gameDatabase.mdf");
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @"Data Source =(LocalDB)\MSSQLLocalDB; AttachDbFilename ="+databaseDirectory + "; Integrated Security = True";
conn.Close();
}
どこexeファイルとMDFファイルです(限りのthatsと彼らは同じディレクトリにいるようどのようにコード内のMDFファイルを見つけるIM)、しかし、私は別のマシン上でそれを実行しようとすると、私は接続エラーが発生します。
本当にありがとうございます。私は私の髪を引っ張っている!
あなたは[コマンドライン](https://msdn.microsoft.com/en-gb/library/hh247716経由でインスタンスを作成、起動、停止および削除することができます。 aspx?f = 255&MSPPError = -2147217396)。しかし、これは、localDBがテストボックスにインストールされている場合にのみ機能します。 –
申し訳ありませんが、私はすべてのSQLを手がかりにしていない、私は学ぶしようとしている、私のデータベースは "gameDatabase.mdf"と呼ばれ、テーブルは "gameDb"と呼ばれる私はコマンドラインを使用して作成時にインスタンスを呼び出すか? – MagicalMidge
謝罪する必要はありません。インスタンス名は接続文字列と一致する必要があります。この場合、 '(LocalDB)\ MSSQLLocalDB'です。これがデフォルトのインスタンスです。常に利用可能でなければなりません。つまり、[ダウンロード](https://msdn.microsoft.com/en-us/library/hh510202.aspx?f=255&MSPPError=-2147217396)とLocalDBをインストールする必要があります。 LocalDbはエンジンを提供し、.mdfは構造と内容を持ちます。 –