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

Resuelto Pomster asked hace 12 años • 11 respuestas

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 algún lugar de mis documentos?

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 simplemente tirar de la cadena de conexión?

Pomster avatar May 07 '12 16:05 Pomster
Aceptado

La forma más sencilla de obtener la cadena de conexión es utilizar la ventana "Explorador de servidores" en Visual Studio (menú Ver , Explorador de servidores ) y conectarse al servidor desde esa ventana.

Luego podrá 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ú contextual).

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, resiliencia, timeot, configuración de agrupación, etc., haciendo clic en el botón "Avanzado..." en la parte inferior de " Cuadro de diálogo "Agregar conexión". Puede acceder a este cuadro de diálogo más adelante haciendo clic derecho en Conexión de datos y eligiendo "Modificar conexión...". Las opciones avanzadas disponibles varían según el tipo de servidor.

Si crea la base de datos usando SQL Server Management Studio, la base de datos se creará en una instancia del servidor, por lo que, para implementar su aplicación, deberá hacer una copia de seguridad de la base de datos e implementarla en el SQL Server 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 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.

JotaBe avatar May 07 '2012 09:05 JotaBe

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

Al hacer doble clic en el archivo .udl se abrirá el asistente de Propiedades del 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>pieza) para usarla en su aplicación C#.

contenido del archivo udl de muestra

[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 de él

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

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

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

Filburt avatar May 07 '2012 09:05 Filburt

Abra SQL Server Management Studio y ejecute la siguiente consulta. Obtendrá una cadena de conexión:

select
    'data source=' + @@servername +
    ';initial catalog=' + db_name() +
    case type_desc
        when 'WINDOWS_LOGIN' 
            then ';trusted_connection=true'
        else
            ';user id=' + suser_name() + ';password=<<YourPassword>>'
    end
    as ConnectionString
from sys.server_principals
where name = suser_name()
Brijesh Kumar Tripathi avatar Feb 12 '2021 06:02 Brijesh Kumar Tripathi