2011-09-01 8 views
5

Ciao Vorrei sapere come dovrei connettermi al database SQL Server esterno in C#, .NET?.Net C# come connettersi al database SQL Server esterno? OleDb o altro?

Per esempio se ho là parametri:

informazioni SQL

  • URL arrivare a database (per tutto il browser anche): Sqlweb.companyname.com
  • nome utente database: Nome utente
  • Server: Dcms-xxx
  • Nome database: databaseName
  • Databasepassword: password

?

so come connettersi a interno: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.AppDomain.CurrentDomain.BaseDirectory + "..\\Files\\MapPlaces\\Database.mdb;";

Ma per quanto riguarda esterno?

ho provato:

string nowConString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Sqlweb.companyname.com;Initial Catalog = databaseName; User Id = Username; Password = Password;"; 

System.Data.OleDb.OleDbConnection dbcon = new System.Data.OleDb.OleDbConnection(nowConString); 

string sql = "SELECT * FROM XXXTable"; 

dbcon.Open(); 

System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(sql, dbcon); 

System.Data.OleDb.OleDbDataReader reader; 

reader = cmd.ExecuteReader(); 

ScriptStuff.Append("Reader created!<br/>"); 

while (reader.Read()) 
{ 
    string companyName = reader.GetValue(1).ToString(); 

    ScriptStuff.Append(companyName+"<br/>"); 

} 

non ha funzionato! Grazie per l'aiuto !

A cura dai commenti:

sì che era un mio errore, grazie. Poiché il primo era l'accesso e il secondo SÌ è SQL Server. Ed è SQL Server 2005. Ma io sono nuovo a .net e tutto questo ... Ho trovato il primo e il secondo in quello connectionstring.com ma non sono riuscito a trovare o capire come usarlo per questo ...

Potrebbe aiutare, e basta inserire la connessione del foro? Grazie - Vilius 7 minuti fa

Voglio dire, devo ancora usare OleDB? dovrebbe esserci "Provider = Microsoft.Jet.OLEDB.4.0;" in quella stringa di connessione? Dove inserisco cosa (server (che Dcms-xxx), o url del server sql (sqlweb.companyname.com))? GRAZIE PER L'AIUTO ! -

risposta

1

Vorrei aggiungere una connectionString alla mia app/web.config.

<connectionStrings> 
    <add name="AspnetdbConnectionString" 
     connectionString="Data Source=<databaseadress>;Initial Catalog=<database>;User Id=<user>;Password=password>" 
     providerName="System.Data.SqlClient" 
    /> 
</connectionStrings> 

L'esempio precedente è come si specifica un ConnectionString per una connessione MSSQL, e sotto un modo per utilizzare questo connectionstring.

using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["AspnetdbconnectionString"].ConnectionString)) 
     { 
      cn.Open(); 
      using (SqlCommand cm = cn.CreateCommand()) 
      { 
       cm.CommandType = CommandType.Text; 
       cm.CommandText = "SELECT * FROM ..."; 
       using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) 
       { 
        while (dr.Read()) 
        { 
         // do stuff 
        } 
       } 
      } 
     } 
+0

Grazie mille ci proverò ora :);) indirizzo del database da usare? server (che Dcms-xxx), o url del server sql (sqlweb.companyname.com) – Vilius

+0

Dipende se è su una rete locale o meno. In caso contrario, utilizzare l'indirizzo completo (sqlweb.companyname.com). – tskulbru

+1

in modo che il server (che Dcms-xxx) non venga utilizzato affatto durante la connessione? Non è sulla rete locale (penso :)) – Vilius

0

Sei sicuro che si tratta di un database di SQL Server a cui stai tentando di connettersi?
Il vostro esempio "interno" si connette a un database di Microsoft Access (provider OLE DB e file di database estensione mdb)

Se il database esterno è in realtà un database di SQL Server, il modo consigliato sta usando SqlConnection, SqlDataReader e così via, invece di OleDbConnection ecc.
Oppure, se si desidera utilizzare OleDb, è necessaria una stringa di connessione diversa.
Vedere connectionstrings.com (per SQL Server 2008, 2005 o 2000, a seconda di cosa si sta tentando di connettersi a).

+0

Sì, è stato un mio errore, grazie. Poiché il primo era l'accesso e il secondo YES è sql. Ed è 2005 sql. Ma io sono nuovo a .net e tutto questo ... ho trovato il primo e il secondo in quel connectionstring.com ma non sono riuscito a trovare o capire come usarlo per questo ... Potresti aiutare e pubblicare connessione buco? Grazie – Vilius

+0

Voglio dire, devo ancora usare OleDB? dovrebbe esserci "Provider = Microsoft.Jet.OLEDB.4.0;" in quella stringa di connessione? Dove inserisco cosa (server (che Dcms-xxx), o url del server sql (sqlweb.companyname.com))? GRAZIE PER L'AIUTO ! – Vilius

0

consiglio vivamente di dare un'occhiata a:

http://www.connectionstrings.com/

E 'una rapida, "in si faccia" trattamento del soggetto di stringhe di connessione per tutti i principali database.

Problemi correlati