2012-05-07 21 views
115

He creado una base de datos con SQL Server Management Studio, ahora me gustaría usarla en mi aplicación C#. Necesito la cadena de conexión?Cómo obtener la conexión Cadena de una base de datos

¿Dónde puedo encontrar la cadena de conexión y dónde se almacena mi base de datos?

¿Tengo que publicarlo o algo así, o está en mis documentos en alguna parte?

using (var conn = new SqlConnection("your connection string to the database")) 

¿Cómo puedo obtener la cadena de conexión ? ¿Dónde puedo encontrar la cadena de conexión para copiar pegar en la sección anterior?

¿Cómo publico mi base de datos para que Visual Studio pueda recogerla? Entonces, ¿puedo simplemente tirar de la cadena de conexión de allí?

Respuesta

129

La forma más fácil de obtener la cadena de conexión es usar la ventana "Server Explorer" en Visual Studio (menú Ver, Server Explorer) y conectarse al servidor desde esa ventana.

Luego puede ver la cadena de conexión en las propiedades del servidor conectado (elija la conexión y presione F4 o Alt + Enter o elija Propiedades en el menú del botón derecho).

avanzadas configuraciones de cadena de conexión: al crear la conexión, puede modificar cualquiera de las opciones avanzadas de cadena de conexión, como Marte, resiliencia, timeot, la puesta en común de configuración, etc. haciendo clic en el botón "Avanzado ..." en la parte inferior del cuadro de diálogo "Agregar conexión". Puede acceder a este cuadro de diálogo más adelante haciendo clic con el botón derecho en Conexión de datos y seleccionando "Modificar conexión ...". Las opciones avanzadas disponibles varían según el tipo de servidor.

Si crea la base de datos utilizando SQL Server Management Studio, la base de datos se creará en una instancia de servidor, de modo que para implementarla tendrá que hacer una copia de seguridad de la base de datos y desplegarla en la implementación SQL Servidor. Alternativamente, puede usar un archivo de datos usando SQL Server Express (localDB en SQL Server 2012), que se distribuirá fácilmente con su aplicación.

I.e. si es una aplicación ASP.NET, hay una carpeta de datos de aplicación. Si hace clic derecho, puede agregar un nuevo elemento, que puede ser una base de datos de SQL Server. Este archivo estará en esa carpeta, funcionará con SQL Express y será fácil de implementar. Necesita SQL Express/localDB instalado en su máquina para que esto funcione.

+2

Entiendo de esta manera, y me gusta: D, pero ¿podría explicarme más sobre cómo hacer una copia de seguridad y luego implementarla? mi conocimiento de MS SQL Server es malo, comencé a usarlo hace aproximadamente una hora: \ – Pomster

+1

Es un servicio de ventana – Pomster

+0

¿Hay un servidor realsql? ¿Usará sql server express? ¿es suficiente con SQL Server Compact Edition? No podemos obtener lo que puede usar si no proporciona información adicional – JotaBe

1

El sql server database will be stored de forma predeterminada en la siguiente ruta

<drive>:\Program Files\Microsoft SQL Server\MSSQL.X\MSSQL\Data\ 

, donde <drive> es la unidad de instalación y X es el número de instancia (MSSQL.1 para la primera instancia del motor de base de datos). Para proporcionar la cadena de conexión, debe saber cuál es el nombre del servidor de la base de datos del servidor SQL, donde ha almacenado seguido de la instancia del servidor de la base de datos.

Generalmente el nombre del servidor será como la dirección IP de la máquina donde se une la base de datos y la instancia predeterminada será SqlExpress

A connection string contiene origen de datos nombre es decir, nombre del servidor, inicial catálogo es decir, nombre de la base de datos, ID de usuario es decir, identificación de usuario de inicio de sesión de la base de datos, contraseña es decir, contraseña de inicio de sesión de la base de datos.

+1

¿Cómo se obtiene la cadena de conexión? – Pomster

+1

He echado un vistazo a los archivos de programa \ Microsoft SQl Server y no tengo idea de lo que estoy buscando. – Pomster

+0

no es necesario buscar la carpeta de almacenamiento de la base de datos, ver el enlace que he dado para la cadena de conexión y escribir la cadena de conexión. –

13

En connectionstrings.com puede encontrar la cadena de conexión para cada proveedor de DB. Una cadena de conexión se construye con ciertos atributos/propiedades y sus valores. Para el servidor SQL 2008, que se parece a esto (estándar, que es lo que necesita aquí):.

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

en myServerAddress, escriba el nombre de la instancia instalada (por defecto es .\SQLEXPRESS catálogo inicial = su base de datos nombre, verá que en SSMS a la izquierda después de la conexión. el resto habla por sí mismo.

edición

tendrá omitir nombre de usuario y la contraseña para la autenticación de windows.

76

Una forma muy simple para recuperar una cadena de conexión, es la creación de un archivo de texto, cambie la extensión de .txt a .udl.

doble clic en el archivo .udl abrirá las propiedades de enlace de datos asistente.

Configure y pruebe la conexión a su servidor de base de datos.

Cierre el asistente y abra el archivo .udl con el editor de texto de su elección y simplemente copie la cadena de conexión (sin la parte Provider=<driver>) para usarlo en su aplicación C#.

contenido de archivo de ejemplo UdL

[oledb] 
; Everything after this line is an OLE DB initstring 
Provider=SQLNCLI11.1;Integrated Security=SSPI;Persist Security Info=False;User ID="";Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME;Initial File Name="";Server SPN="" 

lo que hay que copiar de ella

Integrated Security=SSPI;Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME; 

Si desea especificar nombre de usuario y la contraseña se puede adoptar de otras respuestas.

Tutorial: https://teusje.wordpress.com/2012/02/21/how-to-test-an-sql-server-connection/

+3

Awesome approach! – xacinay

+0

Si esto no funciona, hay algunos archivos reg que realizarán cambios en el registro para habilitar/deshabilitar la extensión UDL. Normalmente busco la carpeta de Windows para * .reg. – AMissico

3

put debajo de la etiqueta en el archivo web.config en nodo de configuración

<connectionStrings> 
<add name="NameOFConnectionString" connectionString="Data Source=Server;Initial Catalog=DatabaseName;User ID=User;Password=Pwd" 
    providerName="System.Data.SqlClient" /> 

entonces puede utilizar por encima de connectionstring, por ejemplo

SqlConnection con = new SqlConnection(); 
      con.ConnectionString = ConfigurationManager.ConnectionStrings["NameOFConnectionString"].ToString(); 
0

Si creó Connection Manager en su proyecto, puede simplemente extraer la cadena de conexión desde allí.

String connection = this.dts.connections["<connection_manager_name>"]; 

Y utilizar esta conexión en:

using (var conn = new SqlConnection(connection)) 

Por favor, corríjanme si estoy equivocado.

-2
SqlConnection con = new SqlConnection(); 
con.ConnectionString="Data Source=DOTNET-PC\\SQLEXPRESS;Initial Catalog=apptivator;Integrated Security=True"; 
+0

¿Cómo responde esto la pregunta OP? – Filburt

7

Mi solución fue utilizar (2010).

En una nueva hoja de cálculo, seleccione una celda y, a continuación:

Data -> From Other Sources -> From SQL Server 

puesto en el nombre servidor, tabla de selección de, etc,

Al llegar a la "importación Datos "diálogo,
haga clic en Propiedades en el cuadro de diálogo" Propiedades de la conexión ",
seleccione la pestaña "Definición".

Y Excel muestra muy bien la cadena de conexión para copiar
(o incluso exportación de conexión de archivos ...)

+0

Esto funciona perfectamente y no requiere que la conexión se configure en VS. – Robino

Cuestiones relacionadas