Realente la mejor forma es la primera, ya habria que mirar que tienes mal, que te esta marcando error.
Yo lo hago asi:
1. La cadena de conexion la tengo en un archivo de configuracion
2. Al cargar la aplicacion leo la cadena y la asigno a una variable global. Esta variable esta en una clase Publica (
Public Class) y a su vez la clase tambien tiene una
Propiedad Publica por ejemplo
MiConexionString
Entonces cuando necesito recuperar la cadena hago algo como
Código VB:
Ver originalDim conexion As SqlConnection = New SqlConnection
conexion.ConnectionString = MiClase.MiConexionString
conexion.Open()
Saludos