2017-03-28 4 views
0

Dies ist meine erste App mit einer Datenbank.It installiert und läuft perfekt auf meinem PC. Aber wenn auf einem anderen Computer installiert ist, wirft er einen Fehler:So hängen Sie eine Datenbank an ein Setup an

System.Data.SqlClient.SqlException (0x80131904): A network-related or 
instance-specific error occurred while establishing a connection to SQL 
Server. The server was not found or was not accessible. Verify that the 
instance name is correct and that SQL Server is configured to allow remote 
connections. (provider: SQL Network Interfaces, error: 50 - Local Database 
Runtime error occurred. The specified LocalDB instance does not exist. 

Was ich brauche, ist, die Setup-Datei muss selbst eine Datenbank lokal enthält, so dass ich einige Daten speichern kann und es abrufen.

Die Beispielanwendung ist hier:

using System; 
using System.Data; 
using System.Windows.Forms; 
using System.Data.SqlClient; 

namespace form1 
{ 
    public partial class Form1 : Form 
    { 
    public Form1() 
    { 
     InitializeComponent(); 
    } 
    SqlDataAdapter da; 
    DataSet ds; 
    SqlConnection con; 
    private void button1_Click(object sender, EventArgs e) 
    { 
     con = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\sql.mdf;Integrated Security=True"); 
     da = new SqlDataAdapter("insert into STUDENTDATA(STUDENT,CLASS,SEX)values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "')", con); 
     ds = new DataSet(); 
     da.Fill(ds); 
     MessageBox.Show("Registration has been successful"); 
    } 

    private void button2_Click(object sender, EventArgs e) 
    { 
     Form2 f2 = new Form2(); 
     f2.Show(); 

    } 
    } 
} 

Hinweis :: Der andere Computer in dem Visual Studio installiert ist.

+2

Visual Studio auf Datenbankserver installiert wird, ist irrelevant. Wenn Sie den Datenzugriff erlernen möchten, sollten Sie sich mit [IDisposable] (https://msdn.microsoft.com/en-us/library/system.idisposable (v = vs.110) .aspx) vertraut machen. Das Speichern von Datenverbindungen als Felder ist eine * schreckliche * Übung. Sie sollten ihren Umfang so begrenzt wie möglich halten. Haben Sie überprüft, ob SQL Server LocalDB auf dem Computer installiert ist, auf dem Sie bereitstellen möchten? – mason

+2

SQL Server LocalDB ist auf dem Computer installiert. Ich habe es über die Befehlszeile 'sqllocaldb i' überprüft. Und die Instanz ist V11.0 – spirit

+0

Haben Sie überprüft, dass die Datenbankdatei am richtigen Speicherort ist? – mason

Antwort

0

Versuchen Sie es, es funktionierte für mich.

Gehen Sie zu Extras/Optionen/Datenbank-Tools/klicken Sie auf Datenverbindung/Entfernen Sie jetzt Sql Server Instanzname aus dem rechten Feld/klicken Sie auf OK.

Dann versuchen Sie eine andere Datenbank hinzuzufügen: Open-Mappe-Explorer/Rechts Projekt klicken/Neues Element hinzufügen/Select Service-basierte Datenbank/klicken

hinzufügen

enter image description here

Verwandte Themen