System.Data.EntityException: The underlying provider failed on Open.

场景:IIS默认站点建立程序,使用Windows集成身份验证方式,连接SQLServer数据库也是采用集成身份验证。我报“System.Data.EntityException: The underlying provider failed on Open.”这个错误是因为计算机登录密码改过,导致之前应用程序池设置的凭证错误,解决办法:把应用程序池的登录凭证也修改一下改成和计算机登录密码一样,这样程序就好了。

步骤:

  新增一个应用程序:

  IIS Default Web Site-->Add Application-->Application Pool-->ASP.NET V4.0 Integrated

  修改应用程序池的凭证:

  Application Pool-->ASP.NET V4.0 Integrated-->Advanced Settings-->Process Model-->Identity-->Customer account-->Set Credentials-->Set UserName=Cumputer LoginName,Password=Cumputer Login Password-->Click OK

  配置文件

<appSettings>
    <add key="CreditCheckGatewayDB" value="Server=fscnbesd0001;Database=CreditCheckGateway;Integrated Security=SSPI;" />
    </appSettings>
View Code

  C#读取连接字符串

        static public string GetCupCreditCheckConnectionString
        {
            get
            {
                return string.Format("metadata=res://*/CupModel.csdl|res://*/CupModel.ssdl|res://*/CupModel.msl;provider=System.Data.SqlClient;provider connection string=\"{0}\";", ConfigurationManager.AppSettings["CreditCheckGatewayDB"]);
            }
        }
View Code

  或者配置文件直接写

<appSettings>
    <add key="CupCreditCheckDB" value="metadata=res://*/CupModel.csdl|res://*/CupModel.ssdl|res://*/CupModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Server=fscnbesd0001;Database=CreditCheckGateway;Integrated Security=SSPI&quot;" providerName="System.Data.EntityClient" />
</appSettings>
View Code

 

 <connectionStrings>
    <add name="CupCreditCheckDB" connectionString="metadata=res://*/CupModel.csdl|res://*/CupModel.ssdl|res://*/CupModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Server=fscnbesd0001;Database=CreditCheckGateway;Integrated Security=SSPI&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>
View Code

 

 

    

 

### 回答1: 这个错误是由于Hive元数据存储无法加载MySQL驱动程序引起的。具体原因是Java无法找到com.mysql.jdbc.driver类。可能是因为MySQL驱动程序未正确安装或未在Hive配置中正确设置。需要检查Hive配置文件中的JDBC驱动程序路径和MySQL驱动程序是否正确安装。 ### 回答2: 这个错误提示是在使用Hive元数据存储来管理Hive元数据时出现的。它表明Hive元数据存储无法加载MySQL驱动程序,因为找不到该驱动程序的类。 造成这个问题的原因可能有几个。可能是MySQL驱动程序没有正确安装,或者Hibernate配置文件中没有正确指定MySQL驱动程序的路径。还有一种可能性是,MySQL驱动程序的版本不兼容当前的Hive版本。 要解决这个问题,可以按照以下步骤进行操作: 1. 检查MySQL驱动程序是否已正确安装并位于正确的位置。可以尝试重新安装驱动程序,并确保将其放置在正确的目录下。 2. 检查Hibernate配置文件是否将MySQL驱动程序的路径正确地指定为参数。这需要查看Hive元数据存储中的hive-site.xml文件,并检查MySQL连接字符串是否正确。 3. 如果使用的Hive版本比MySQL驱动程序的版本旧或新,请确保两者兼容。可以尝试升级或降级MySQL驱动程序的版本,并确保它与当前的Hive版本兼容。 总之,这个错误提示是在使用Hive元数据存储来管理Hive元数据时出现的。它表明Hive元数据存储无法加载MySQL驱动程序,因为找不到该驱动程序的类。要解决这个问题,需要检查MySQL驱动程序是否正确安装并位于正确的位置,以及确保Hibernate配置文件正确指定了MySQL驱动程序的路径,并且MySQL驱动程序的版本与当前的Hive版本兼容。 ### 回答3: 这个错误信息的意思是,Hive元数据存储在MySQL数据库中,并且Hive无法找到mysql的JDBC驱动程序来连接MySQL数据库,因此Hive元数据无法加载成功。在Hadoop生态系统中,Hive是一个优秀的数据仓库,它可以使用HQL查询数据,但前提条件是需要先配置好Hive元数据,并将其保存在数据库中。 出现这个错误可能有很多原因,但最常见的原因是缺少正确的JDBC驱动程序。为了解决这个问题,我们需要按照以下步骤进行操作: 第一步是确定你的MySQL版本,然后下载对应版本的JDBC驱动程序。在下载后,将JDBC驱动程序复制到所有Hive和Hadoop节点上的相同位置。 第二步是修改Hive配置文件hive-site.xml。在这个文件中,你需要增加以下配置项: <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://yourhost:3306/hive?createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> 第三步是重新启动Hive服务,并尝试连接Hive元数据。如果你还想将其他服务与Hive集成,你还需要为它们设置正确的JDBC驱动程序。 综上所述,当Hive无法加载MySQL JDBC驱动程序时,这个错误就会出现。为了解决这个问题,我们需要下载和配置正确的JDBC驱动程序,并修改Hive的配置文件。如果你仍然无法解决这个问题,你可以通过检查Hive和MySQL的日志来进一步排查故障。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值