Domanda

Ho un servizio WCF distribuito su una macchina. Questo servizio WCF può essere configurato su SQL Server o SQL Server Express.

NOTA: l'ubicazione del database SQL può essere un'altra macchina diversa da quella in cui è distribuito il servizio WCF.

Ho inserito le seguenti informazioni nel file XML:

  1. ID utente
  2. Password
  3. ServerName
  4. MachineName

In caso di SQL Server Express

La proprietà ServerName è " SQLEXPRESS " ;. Internamente aggiungo ServerName con MachineName in modo che serverName sia:

MachineName \ SQLEXPRESS

che viene passato alla stringa di connessione.

In caso di SQL Server

Quando passo NomeServer a SQL Server, viene generata un'eccezione.

Per favore guidami per l'approccio migliore !!

È stato utile?

Soluzione

Qual è l'eccezione? Inoltre non sono sicuro di quale sia la differenza tra ServerName e MachineName. Forse intendevi ServerName e InstanceName? Dovresti costruire la tua stringa in questo modo (pseudo codice, non ho idea di quale lingua stai usando):

DataSource = ServerName
If (InstanceName != "")
    DataSource += "\" + InstanceName

Altri suggerimenti

È possibile utilizzare lo stesso formato di stringa di connessione per connettersi sia a SQL Server Express che alle versioni complete.

Assicurati solo di passare con la stringa corretta, qualcosa del genere sarebbe comune, per le installazioni DEFAULT.

Data Source=MachineName\SQLExpress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

e per SQL Server completo

Data Source=MachineName;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

Il motivo più probabile è perché l'istanza di MSSQLSERVER è in esecuzione nell'istanza predefinita anziché in un'istanza denominata (che è ciò che fa SQL Express). Una soluzione è configurare un file delle proprietà locali che contiene la stringa di connessione specifica per l'ambiente. Quindi fai riferimento al file nel file di configurazione stesso o fai in modo che parte del processo di compilazione includa le informazioni nel file di configurazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top