Junto con saludarlos, quiesiera plantearles un pequeño problema que tengo Entity Data Model, mysql y asp net, las herramientas utilizadas son:
-MySQL Server 5.1.23 community
-Visual Studio 2008 (3.5) asp.net
- MySQL Connector 6.2.3
- Un ordenador de desarrollo.
- 2 servidores de prueba (win 2003 y win 2008)
La aplicación se ejecuta sin problemas en mi ordenador y el servidor con win 2008, el problema se da en mi servidor con win 2003, el servidor con problemas, tiene todo instalado correctamente, todo muy bien seteado en IIS, todo como corresponde.
Al momento de ejecutar mi aplicación en el win 2003, me arroja el siguiente error (solo es en el win 2003, el resto corre correctamente):
System.Data.MetadataException: La ruta de acceso de los metadatos especificados no es válida. Una ruta de acceso válida debe ser un directorio existente, un archivo existente con extensión '.csdl', '.ssdl' o '.msl', o un URI que identifica un recurso incrustado.
en System.Data.Metadata.Edm.MetadataArtifactLoaderCompositeResource.ParseResourcePath(String path, String& assemblyName, String& resourceName)
en System.Data.Metadata.Edm.MetadataArtifactLoaderCompositeResource.CreateResourceLoader(String path, ExtensionCheck extensionCheck, String validExtension, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver)
en System.Data.Metadata.Edm.MetadataArtifactLoader.Create(String path, ExtensionCheck extensionCheck, String validExtension, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver)
en System.Data.EntityClient.EntityConnection.SplitPaths(String paths)
en System.Data.EntityClient.EntityConnection.GetMetadataWorkspace(Boolean initializeAllCollections)
en System.Data.Objects.ObjectContext.RetrieveMetadataWorkspaceFromConnection()
en System.Data.Objects.ObjectContext..ctor(EntityConnection connection, Boolean isConnectionConstructor)
en System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName)
en DAL.NSCompany.companyEntities..ctor()
en BLL.NSCompany.CommonBLL.get_CompanyEntities()
en BLL.NSCompany.MasterConfiguration.LoadCompanyConfig()
Error: La ruta de acceso de los metadatos especificados no es válida. Una ruta de acceso válida debe ser un directorio existente, un archivo existente con extensión '.csdl', '.ssdl' o '.msl', o un URI que identifica un recurso incrustado.
Esto tambien me ocurrio con SQLLite pero lo resolví colocando el nombre del ensamblado en la cadena conección, pero con mysql no me resulta.
En el web.config:
Orignal (Con esto corre en mi ordenador de desarrollo y en el win2008):
<connectionStrings>
<add name="ofiEntities" connectionString="metadata=res://*/DAL.OfiEDMX.csdl|res://*/DAL.OfiEDMX.ssdl|res://*/DAL.OfiEDMX.msl;provider=MySql.Data.MySqlClient;provider connection string="server=myhost;User Id=myuser;password=mypass;Persist Security Info=True;database=mybase"" providerName="System.Data.EntityClient" />
</connectionStrings>
Modificada (en el servidor win 2003), intente lo siguiente:
<connectionStrings>
<add name="ofiEntities" connectionString="metadata=res://CompanyAssembly/DAL.OfiEDMX.csdl|res://CompanyAssembly/DAL.OfiEDMX.ssdl|res://CompanyAssembly/DAL.OfiEDMX.msl;provider=MySql.Data.MySqlClient;provider connection string="server=myhost;User Id=myuser;password=mypass;Persist Security Info=True;database=mybase"" providerName="System.Data.EntityClient" />
</connectionStrings>
Y así muchas otras variante
<connectionStrings>
<add name="ofiEntities" connectionString="metadata=CompanyAssembly/DAL.OfiEDMX.csdl|CompanyAssembly/DAL.OfiEDMX.ssdl|CompanyAssembly/DAL.OfiEDMX.msl;provider=MySql.Data.MySqlClient;provider connection string="server=myhost;User Id=myuser;password=mypass;Persist Security Info=True;database=mybase"" providerName="System.Data.EntityClient" />
</connectionStrings>
<connectionStrings>
<add name="ofiEntities" connectionString="metadata=~/bin/CompanyAssembly/DAL.OfiEDMX.csdl|~/bin/CompanyAssembly/DAL.OfiEDMX.ssdl|~/bin/CompanyAssembly/DAL.OfiEDMX.msl;provider=MySql.Data.MySqlClient;provider connection string="server=myhost;User Id=myuser;password=mypass;Persist Security Info=True;database=mybase"" providerName="System.Data.EntityClient" />
</connectionStrings>
Y otros más. Pero, nada de eso funciona, es por eso que acudo a ustedes por si me pueden ayudar con este problema, de antemano, se los agradezco mucho
-MySQL Server 5.1.23 community
-Visual Studio 2008 (3.5) asp.net
- MySQL Connector 6.2.3
- Un ordenador de desarrollo.
- 2 servidores de prueba (win 2003 y win 2008)
La aplicación se ejecuta sin problemas en mi ordenador y el servidor con win 2008, el problema se da en mi servidor con win 2003, el servidor con problemas, tiene todo instalado correctamente, todo muy bien seteado en IIS, todo como corresponde.
Al momento de ejecutar mi aplicación en el win 2003, me arroja el siguiente error (solo es en el win 2003, el resto corre correctamente):
System.Data.MetadataException: La ruta de acceso de los metadatos especificados no es válida. Una ruta de acceso válida debe ser un directorio existente, un archivo existente con extensión '.csdl', '.ssdl' o '.msl', o un URI que identifica un recurso incrustado.
en System.Data.Metadata.Edm.MetadataArtifactLoaderCompositeResource.ParseResourcePath(String path, String& assemblyName, String& resourceName)
en System.Data.Metadata.Edm.MetadataArtifactLoaderCompositeResource.CreateResourceLoader(String path, ExtensionCheck extensionCheck, String validExtension, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver)
en System.Data.Metadata.Edm.MetadataArtifactLoader.Create(String path, ExtensionCheck extensionCheck, String validExtension, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver)
en System.Data.EntityClient.EntityConnection.SplitPaths(String paths)
en System.Data.EntityClient.EntityConnection.GetMetadataWorkspace(Boolean initializeAllCollections)
en System.Data.Objects.ObjectContext.RetrieveMetadataWorkspaceFromConnection()
en System.Data.Objects.ObjectContext..ctor(EntityConnection connection, Boolean isConnectionConstructor)
en System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName)
en DAL.NSCompany.companyEntities..ctor()
en BLL.NSCompany.CommonBLL.get_CompanyEntities()
en BLL.NSCompany.MasterConfiguration.LoadCompanyConfig()
Error: La ruta de acceso de los metadatos especificados no es válida. Una ruta de acceso válida debe ser un directorio existente, un archivo existente con extensión '.csdl', '.ssdl' o '.msl', o un URI que identifica un recurso incrustado.
Esto tambien me ocurrio con SQLLite pero lo resolví colocando el nombre del ensamblado en la cadena conección, pero con mysql no me resulta.
En el web.config:
Orignal (Con esto corre en mi ordenador de desarrollo y en el win2008):
<connectionStrings>
<add name="ofiEntities" connectionString="metadata=res://*/DAL.OfiEDMX.csdl|res://*/DAL.OfiEDMX.ssdl|res://*/DAL.OfiEDMX.msl;provider=MySql.Data.MySqlClient;provider connection string="server=myhost;User Id=myuser;password=mypass;Persist Security Info=True;database=mybase"" providerName="System.Data.EntityClient" />
</connectionStrings>
Modificada (en el servidor win 2003), intente lo siguiente:
<connectionStrings>
<add name="ofiEntities" connectionString="metadata=res://CompanyAssembly/DAL.OfiEDMX.csdl|res://CompanyAssembly/DAL.OfiEDMX.ssdl|res://CompanyAssembly/DAL.OfiEDMX.msl;provider=MySql.Data.MySqlClient;provider connection string="server=myhost;User Id=myuser;password=mypass;Persist Security Info=True;database=mybase"" providerName="System.Data.EntityClient" />
</connectionStrings>
Y así muchas otras variante
<connectionStrings>
<add name="ofiEntities" connectionString="metadata=CompanyAssembly/DAL.OfiEDMX.csdl|CompanyAssembly/DAL.OfiEDMX.ssdl|CompanyAssembly/DAL.OfiEDMX.msl;provider=MySql.Data.MySqlClient;provider connection string="server=myhost;User Id=myuser;password=mypass;Persist Security Info=True;database=mybase"" providerName="System.Data.EntityClient" />
</connectionStrings>
<connectionStrings>
<add name="ofiEntities" connectionString="metadata=~/bin/CompanyAssembly/DAL.OfiEDMX.csdl|~/bin/CompanyAssembly/DAL.OfiEDMX.ssdl|~/bin/CompanyAssembly/DAL.OfiEDMX.msl;provider=MySql.Data.MySqlClient;provider connection string="server=myhost;User Id=myuser;password=mypass;Persist Security Info=True;database=mybase"" providerName="System.Data.EntityClient" />
</connectionStrings>
Y otros más. Pero, nada de eso funciona, es por eso que acudo a ustedes por si me pueden ayudar con este problema, de antemano, se los agradezco mucho