Solución:
marque aquí: Método Database.OpenConnectionString (String, String)
intente especificar el nombre del proveedor como segundo parámetro, del ejemplo de MSDN:
var connectionString = "Data Source=.\SQLExpress;Initial Catalog=SmallBakery;Integrated Security=True";
var providerName = "System.Data.SqlClient";
var db = Database.OpenConnectionString(connectionString, providerName);
ARRRRHHHHHH !!!!!
Esta es la segunda vez que me encuentro con esto, grrrh, he desperdiciado horas en eso.
Error:
El servidor encontró un error al procesar la solicitud. El mensaje de excepción es ‘Palabra clave no admitida:’ catálogo inicial; MyDatabase; fuente de datos ‘.’. Consulte los registros del servidor para obtener más detalles. El seguimiento de la pila de excepciones es:
Stacktrace:
en System.Data.Common.DbConnectionOptions.ParseInternal (Hashtable parsetable, String connectionString, Boolean buildChain, Hashtable sinónimos, Boolean firstKey) en System.Data.Common.DbConnectionOptions..ctor (String connectionString, Hashtable sinónimos, Boolean useOdbcRules) en System. Data.SqlClient.SqlConnectionString..ctor (String connectionString) en System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions (String connectionString, DbConnectionOptions anterior) en System.Data.ProvideroupBase.DbConnectionFactory.GetOpConnection pool System.Data.SqlClient.SqlConnection.ConnectionString_Set (clave DbConnectionPoolKey) en System.Data.SqlClient.SqlConnection.set_ConnectionString (valor de cadena) en System.Data.SqlClient.SqlConnection..ctor (String connectionString, SqlCredential)
Esta era mi cadena de conexión defectuosa:
<add name="Production" connectionString="Password=Secret;Persist Security Info=True;User ID=MyUserID;Initial Catalog;MyDatabase;Data Source=aquickborwnfoxjumpedover.us-west-2.rds.amazonaws.com,1433" providerName="System.Data.SqlClient" />
Se ve bien, ¿verdad? INCORRECTO
Finalmente vi el punto y coma aquí:
Catálogo inicial; MyDatabase
Para corregirlo, utilicé un signo igual:
Catálogo inicial = MyDatabase
La cadena de conexión correcta:
<add name="ConnString" connectionString="Password=Secret;Persist Security Info=True;User ID=MyUserID;Initial Catalog=MyDatabase;Data Source=aquickborwnfoxjumpedover.us-west-2.rds.amazonaws.com,1433" providerName="System.Data.SqlClient" />
Puedes usar el siguiente código
Archivo de configuración :
<connectionStrings>
<add name="con" connectionString="Data Source=ServerName;Initial Catalog=master;Integrated Security=SSPI;" providerName="System.Data.SqlClient"></add>
</connectionStrings>
cshtmlfile:
var db = Database.Open("con");
var selecteddata = db.Query("select * from movie");