public static int Add(ZFJC.Model.AJ_SONGDAHUIZHENG model)
        {
            Database db = DatabaseFactory.CreateDatabase("MENGJIN"); //这里是调用oracle中的数据库名
            DbCommand dbCommand = db.GetStoredProcCommand("aj_songdahuizheng_insert");//这里是调用的存储过程名            db.AddInParameter(dbCommand, "s_xtajbh", DbType.AnsiString, model.Xtajbh);
            db.AddInParameter(dbCommand, "s_ssdr", DbType.AnsiString, model.Ssdr);
            db.AddInParameter(dbCommand, "s_wsmcjs", DbType.AnsiString, model.Wsmcjs);
            db.AddInParameter(dbCommand, "s_sddd", DbType.Int32, model.Sddd);
            db.AddInParameter(dbCommand, "s_ssdrqm", DbType.AnsiString, model.Ssdrqm);            db.AddInParameter(dbCommand, "s_sdrq", DbType.AnsiString, model.Sdrq);
            db.AddInParameter(dbCommand, "s_sdr", DbType.AnsiString, model.Sdr);
            db.AddInParameter(dbCommand, "s_bz", DbType.AnsiString, model.Bz);
            db.AddInParameter(dbCommand, "s_zltz", DbType.AnsiString, model.Zltz);
            db.AddInParameter(dbCommand, "s_sxgz", DbType.AnsiString, model.Sxgz);            db.AddInParameter(dbCommand, "s_tzgz", DbType.AnsiString, model.Tzgz);
            db.AddInParameter(dbCommand, "s_cljd", DbType.AnsiString, model.Cljd);
            db.AddOutParameter(dbCommand, "result", DbType.Int32, 8);//声明一个名为result的输入参数,用于接收存储过程返回的值
            db.ExecuteNonQuery(dbCommand);
            return Convert.ToInt32(dbCommand.Parameters["@result"].Value);
        }这个是我dal层中,添加一条记录的代码。这个方法以前是用来做sql的。现在我改成做oracle。代码基本变化不大。
但是sql时正常。用oracle时就出现以下错误了:
用户代码未处理:ActivationExcaption
Activation error occured while trying to get instance of type Database, key "MENGJIN"
请问怎么解决?愁啊!!

解决方案 »

  1.   

    自己顶!!!,另补充:是在Database db = DatabaseFactory.CreateDatabase("MENGJIN"); 这句出的错!!
      

  2.   

    设置断点跟踪CreateDatabase进去看下。
    这种错误主要靠调试解决。
      

  3.   

     ActivationExceptionextends Exception激活接口所使用的一般异常。 从版本 1.4 开始,已对此异常作出改进,以符合通用异常链机制。可在构造时提供并通过公共 detail 字段访问的“详细的异常”现在称为 cause,该异常也能通过 Throwable.getCause() 方法以及前述的“遗留字段”访问。 在 ActivationException 的一个实例上调用方法 Throwable.initCause(Throwable) 总是抛出 IllegalStateException。 看看是不是目录下的数据库文件是不是存在着,没有删除干净。首先删除干净再...
      

  4.   

    如果这个DatabaseFactory是DAAB的,很简单...你的配置文件配置有问题...
      

  5.   

     没用过oracle,帮lz顶一把。。
      

  6.   

    cyq.data 数据框架,操作oracle 小菜一碟!
      

  7.   


    应该贴出你自己的 Connections 区中的 MENGJIN 定义!
      

  8.   

    web.config 的数据库链接字符串贴出来有MENGJIN 这个key没有
      

  9.   

    <connectionStrings>
      <add name="MENGJIN " connectionString="........." />
      </connectionStrings>
      

  10.   

    我用的是动软生成的。不用
    connectionStrings>
      <add name="MENGJIN " connectionString="........." />
      </connectionStrings>我用的是
    <appSettings>
        <!-- 连接字符串是否加密 -->
        <add key="ConStringEncrypt" value="false"/>
        <!-- 数据库连接字符串,(如果采用加密方式,上面一项要设置为true;加密工具,可在官方下载,
          如果使用明文这样server=127.0.0.1;database=.....,上面则设置为false。 -->
        <add key="ConnectionString" value="database=ORCL;uid=MENGJIN;pwd=zyf123456;"/>
    </appSettings>
      

  11.   

    现在的问题是:在helper文件中,连接配置文件时,已经取不到了。也就是说,连接不到
    <appSettings>
        // 连接字符串是否加密 
        <add key="ConStringEncrypt" value="false"/>
        // 数据库连接字符串,(如果采用加密方式,上面一项要设置为true;加密工具,可在官方下载,
                 //如果使用明文这样server=127.0.0.1;database=.....,上面则设置为false。     <add key="ConnectionString" value="database=ORCL;uid=MENGJIN;pwd=zyf123456;"/>
    </appSettings>
      

  12.   

    <appSettings>
        // 连接字符串是否加密 
        <add key="ConStringEncrypt" value="false"/>
        // 数据库连接字符串,(如果采用加密方式,上面一项要设置为true;加密工具,可在官方下载,
                 //如果使用明文这样server=127.0.0.1;database=.....,上面则设置为false。
        <add key="ConnectionString" value="database=ORCL;uid=MENGJIN;pwd=zyf123456;"/>
    </appSettings>
      

  13.   

    没有 name="MENGJIN" 的对应连接字符串定义,怎么可能执行 DatabaseFactory.CreateDatabase("MENGJIN") 呢?
      

  14.   

    噢不是name,是key。既然是 ConnectionString,那么你就改你的源代码使用 ConnectionString 吧。