Cómo obtener la cadena de conexión de una base de datos

197

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?

¿Dónde puedo encontrar la cadena de conexión y dónde está almacenada 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 obtengo la cadena de conexión ? ¿Dónde puedo encontrar la cadena de conexión para copiar y pegar en la sección anterior?

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

Pomster
fuente
Eche un vistazo a cómo generar una cadena de conexión youtu.be/1WgO7CDSmu8
anomepani

Respuestas:

201

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 + Entrar o elija Propiedades en el menú del botón derecho).

Configuración avanzada de la cadena de conexión: al crear la conexión, puede modificar cualquiera de las opciones avanzadas de la cadena de conexión, como MARS, resistencia, timeot, configuración de agrupación, etc. haciendo clic en el botón "Avanzado ..." en la parte inferior de " Diálogo Agregar conexión ". Puede acceder a este cuadro de diálogo más adelante haciendo clic derecho en la 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, por lo que, para implementar su aplicación, tendrá que hacer una copia de seguridad de la base de datos e implementarla en el servidor SQL de implementación. 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.

Es decir, si se trata de una aplicación ASP.NET, hay una carpeta App_Data. Si hace clic con el botón 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 que SQL Express / localDB esté instalado en su máquina para que esto funcione.

JotaBe
fuente
2
Entiendo de esta manera y me gusta: D, pero ¿podría explicar 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
¿Hay un servidor realsql? ¿utilizarás 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
Utilicé MS SQl Server Management Studio 2008, MS SQL Management studio para crear una base de datos. Usé una consulta para crear algunas columnas. Ahora deseo
llenarlo
¿Se implementará esta aplicación? ¿Lo usarás localmente? ¿Te importa el tipo de servidor que se necesita? No necesito saber cómo hiciste tu base de datos, sino dónde y por qué. ¡No puedo adivinar lo que necesitas!
JotaBe
Lo usaré localmente, ¿no es lo que me pides que te dé?
Pomster
113

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

Al hacer doble clic en el archivo .udl , se abrirá el asistente de Propiedades de enlace de datos .

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 Provider=<driver>parte) para usarla en su aplicación C #.

muestra de contenido del archivo 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 necesitas copiar

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

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

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

Filburt
fuente
Si esto no funciona, hay algunos archivos de registro que harán cambios en el registro para habilitar / deshabilitar la extensión UDL. Normalmente busco en la carpeta de Windows * .reg.
AMissico
Eche un vistazo a generar y guardar cadena de conexión en el archivo de configuración web youtu.be/1WgO7CDSmu8
anomepani
20

En connectionstrings.com puede encontrar la cadena de conexión para cada proveedor de DB. Se crea una cadena de conexión con ciertos atributos / propiedades y sus valores. Para SQL Server 2008, se ve así (estándar, que es lo que necesitará aquí):

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

en myServerAddress, escriba el nombre de su instancia instalada (por defecto es .\SQLEXPRESSpara la edición SQL Server Express). Catálogo inicial = el nombre de su base de datos, lo verá en SSMS a la izquierda después de conectarse. El resto habla por sí mismo.

editar

Deberá omitir el nombre de usuario y la contraseña para la autenticación de Windows y agregar Integrated Security=SSPI.

MarioDS
fuente
11

Si ha instalado y configurado MS SQL Server y Management Studio, vaya a Visual Studio (Visual Studio, no SQL Server Management Studio).

1] En Visual Studio, vaya a Herramientas -> Conectar a la base de datos .

2] En Nombre del servidor, seleccione el nombre del servidor de la base de datos (deje que la lista se llene si toma tiempo).

3] En Conectarse a una base de datos, seleccione Seleccionar o ingrese un nombre de base de datos .

4] Seleccione su base de datos del menú desplegable.

5] Después de seleccionar Base de datos, pruebe Probar conexión.

6] Si la conexión de prueba tiene éxito, haga clic en Aceptar.

7] En Visual Studio, vaya a Ver -> Server Explorer .

8] En la ventana del Explorador del servidor, en Conexiones de datos, seleccione su base de datos. Haga clic derecho en su base de datos -> Haga clic en Propiedades .

9] En la ventana Propiedades verá su Cadena de conexión .

Juned Khan Momin
fuente
9

Mi solución fue usar (2010)

En una nueva hoja de trabajo, seleccione una celda, luego:

Data -> From Other Sources -> From SQL Server 

poner el nombre del servidor , seleccionar tabla , etc.

Cuando llegue al cuadro de diálogo "Importar datos",
haga clic Propertiesen el cuadro de diálogo "Propiedades de conexión",
seleccione la pestaña "Definición".

Y allí Excel muestra muy bien la Cadena de conexión para copiar
(o incluso Exportar archivo de conexión ... )

David Elgstuen
fuente
Esto funciona perfectamente y no requiere que la conexión se configure en VS.
Robino
Jaja, esta es una forma súper creativa pero efectiva de conseguir esto. Lo intenté primero simplemente porque no requería dependencias de requisitos previos. Gracias.
Todd
3

poner debajo de la etiqueta en el archivo web.config en el 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 usar la cadena de conexiones anterior, p. ej.

SqlConnection con = new SqlConnection();
            con.ConnectionString = ConfigurationManager.ConnectionStrings["NameOFConnectionString"].ToString();
Vishal Parekh
fuente
3

Si uno usa la herramienta Linqpad, después de conectarse a una base de datos de destino desde las conexiones, puede obtener una cadena de conexión para usar.

  1. Haga clic derecho en la conexión de la base de datos.
  2. Seleccione Properties
  3. Seleccione Advanced
  4. Seleccione Copy Full Connection String to Clipboard

Resultado: Data Source=.\jabberwocky;Integrated Security=SSPI;Initial Catalog=Rasa;app=LINQPad

ingrese la descripción de la imagen aquí


Elimine la app=LinqPadfunción de los controladores y otros elementos, como en Serverlugar de la fuente, es posible que deba ajustar el controlador para adaptarlo a la operación de destino; pero le da a uno una plataforma de lanzamiento.

ΩmegaMan
fuente
2
Apruebo esta publicación
Jabberwocky
1

La base de datos del servidor sql se almacenará de forma predeterminada en la siguiente ruta

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

, donde <drive>está 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.

En general, el nombre del servidor será como la dirección IP de la máquina donde está conectada la base de datos y la instancia predeterminada será SqlExpress

Una cadena de conexión contiene el nombre de la fuente de datos , es decir, el nombre del servidor, el catálogo inicial , es decir, el nombre de la base de datos, la identificación del usuario , es decir, la identificación del usuario de inicio de sesión de la base de datos, la contraseña , es decir, la contraseña de inicio de sesión de la base de datos.

Sai Kalyan Kumar Akshinthala
fuente
1
¿Cómo obtengo la cadena de conexión?
Pomster
1
Eché un vistazo en Archivos de programa \ Microsoft SQl Server y no tengo idea de lo que estoy buscando.
Pomster
no necesita buscar la carpeta de almacenamiento de la base de datos, ver el enlace que he proporcionado para la cadena de conexión y escribir su cadena de conexión.
Sai Kalyan Kumar Akshinthala
0

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

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

Y usa esta conexión en:

using (var conn = new SqlConnection(connection))

Por favor, corríjame si estoy equivocado.

Abhishek
fuente
0

La forma más fácil, amigos, es abrir la pestaña del explorador del servidor en Visual Studio 2019 (en mi caso), y luego intentar crear la conexión a la base de datos. Después de crear una conexión exitosa, haga clic derecho sobre ella y vaya a propiedades. ¡Allí encontrará un campo de conexión de cadena con la sintaxis correcta! ... Esto funcionó para mí porque sabía el nombre de mi servidor de antemano ... simplemente no podía encontrar la sintaxis correcta para ejecutar mi andamio ef ...

Ramiro GM
fuente
-2
SqlConnection con = new SqlConnection();
con.ConnectionString="Data Source=DOTNET-PC\\SQLEXPRESS;Initial Catalog=apptivator;Integrated Security=True";
karthi
fuente
2
¿Cómo responde esto a la pregunta de OP?
Filburt