Buenos días a todos.
Algo que me parece como tanto para los desarrolladores como para las DBA´s, bueno realmente creería eso, es que cuando entregamos nuestro release final al cliente, para que primero lo instalen en pruebas es entregarles un instalador o los binarios, con la primera opción se configura el instalador para que la persona que lo instale no haga muchas labores y sea un proceso simple. Con la segunda opción, bueno habría que tocar los binarios para configurar la cadena de conexión a la DB y demás cosas, algo que parece fácil pero que en ultimas no seria amigable o profesional si queremos entregar un producto de calidad en todos los aspectos.
Este post es para solventar un poco la opción dos. así que vamos a crear un formulario donde podemos configurar la cadena de conexión fácilmente.
En esta primera entrega solo vamos a conectarnos a nuestro Sql Server y ver que responde para posteriormente instalar la DB en nuestro siguiente post de este tema.
Lo primero es crear un formulario como el siguiente.
En funcionamiento se comporta así.
También funciona con autenticación sql
Ahora si el código.
1: protected void buttonTestConn_Click(object sender, EventArgs e)
2: {
3: string connectionStringErrorMensaje = TestSqlClientConnectionString(ConnectionStringForMasterDatabase);
4:
5: if (connectionStringErrorMensaje == string.Empty)
6: {
7: lblMensaje.Text = "Test de conexión fue exitosa. Proceda.........";
8:
9:
10: }
11: else
12: {
13: lblMensaje.Text = connectionStringErrorMensaje;
14:
15: }
16: }
1: public static string TestSqlClientConnectionString(string sqlClientConnectionString)
2: {
3: try
4: {
5: using (SqlConnection conn = new SqlConnection(sqlClientConnectionString))
6: {
7: conn.Open();
8: conn.Close();
9: return string.Empty;
10: }
11: }
12: catch (Exception e)
13: {
14: return e.Message;
15: }
16: }
1: string ConnectionStringForMasterDatabase
2: {
3: get
4: {
5: if (chkAutenticacion.Checked)
6: return BuildSqlClientConnectionString(txtServidorNombre.Text);
7: else
8: return BuildSqlClientConnectionString(txtServidorNombre.Text, "", false, txtUsuario.Text, txtPassword.Text);
9: }
10: }
1: string BuildSqlClientConnectionString(string dataSource, string database = "", bool integridadWindows = true, string userName = "", string password = "")
2: {
3: // Especificar el nombre de servidor y la db
4: string serverName = dataSource;
5: string databaseName = database;
6:
7: // Inicializar el SqlConnectionStringBuilder
8: SqlConnectionStringBuilder sqlBuilder =
9: new SqlConnectionStringBuilder();
10:
11: // Establecer las propiedades para el data source.
12: sqlBuilder.DataSource = serverName;
13: sqlBuilder.InitialCatalog = databaseName;
14:
15: if (integridadWindows)
16: sqlBuilder.IntegratedSecurity = true;
17: else
18: {
19: sqlBuilder.UserID = userName;
20: sqlBuilder.Password = password;
21: }
22:
23: // Contruir el SqlConnection
24: string providerString = sqlBuilder.ToString();
25:
26: return providerString;
27:
28: }
Bueno eso es todo por ahora. Espero les haya agradado. Para el siguiente post usaremos EF.
Saludos.
Romny