Pregunta

Tengo un servicio WCF que se implementa en una máquina. Este servicio WCF se puede configurar para SQL Server o SQL Server Express.

NOTA: La ubicación de la base de datos SQL puede ser otra máquina que no sea el servicio WCF.

Pongo la siguiente información en el archivo XML:

  1. ID de usuario
  2. contraseña
  3. ServerName
  4. MachineName

En el caso de SQL Server Express

La propiedad Nombre del servidor es " SQLEXPRESS " ;. Internamente, agrego el nombre del servidor con el nombre de la máquina, por lo que el nombre del servidor es:

MachineName \ SQLEXPRESS

que se pasa a la cadena de conexión.

En el caso de SQL Server

Cuando paso ServerName a SQL Server, se produce una excepción.

¡Por favor guíame para el mejor enfoque!

¿Fue útil?

Solución

¿Cuál es la excepción? Tampoco estoy seguro de cuál es la diferencia entre ServerName y MachineName. Tal vez te refieres a ServerName y InstanceName? Debes construir tu cadena de esta manera (pseudo código, no tengo idea de qué idioma estás usando):

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

Otros consejos

Puede usar el mismo formato de cadena de conexión para conectarse tanto a SQL Server Express como a las ediciones completas.

Solo asegúrate de que estás siguiendo la cadena adecuada, algo como esto sería común, para las instalaciones POR DEFECTO.

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

y para SQL Server completo

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

La razón más probable es que su instancia de MSSQLSERVER se ejecute bajo la instancia predeterminada en lugar de una instancia con nombre (que es lo que hace SQL Express). Una solución alternativa es configurar un archivo de propiedades locales que contenga la cadena de conexión específica para el entorno. Luego haga referencia al archivo con el mismo archivo de configuración o pida a una parte de su proceso de compilación que incorpore la información en el archivo de configuración.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top