Cadena de conexión: palabra clave no admitida: ‘catálogo inicial’

Estoy usando la entidad de base de datos de Webmatrix.data para crear una conexión de base de datos, sin embargo, no me gusta mi cadena de conexión. Lo estoy ejecutando desde MVC ASP.net.

He intentado cambiarlo a servidor / base de datos, pero sigue teniendo errores. ¿Dónde estoy equivocado?

using (var db = Database.OpenConnectionString(@"Data Source=MY-HP\Serv;Initial Catalog=MyDBSQL;User ID=sa;Password=password")) { var items = db.Query("SELECT * FROM TaskPriority"); } 

Detalles de la excepción: System.ArgumentException: palabra clave no admitida: ‘catálogo inicial’.

compruebe aquí: Database.OpenConnectionString Method (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, perdí horas en eso.

Error:

El servidor encontró un error al procesar la solicitud. El mensaje de excepción es ‘Palabra clave no compatible:’ catálogo inicial; MyDatabase; fuente de datos ‘.’. Vea los registros del servidor para más detalles. El seguimiento de stack de excepción 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.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup (clave DbConnectionPoolKey, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions y userConnectionOptions) a 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 credential)

Esta fue mi cadena de conexión defectuosa:

Se ve bien ¿verdad? INCORRECTO

Eventualmente 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:

Puedes usar el siguiente código

Archivo de configuración :

     

cshtmlfile:

 var db = Database.Open("con"); var selecteddata = db.Query("select * from movie"); 

Yo sugiero:


  1. Puede verificar el formato de su cadena de conexión claramente “y”. En mi caso, esto es:


  1. Puede intentar generar db por EF nuevamente.