我有一个引用Oracle.DataAccess的.aspx页面。我可以通过视觉工作室启动应用程序,它运行良好。我的VS版本是2012,IIS是7.5,操作系统是Win 7,ODP是3.5。
但是,当我尝试在IIS中部署它时,它给了我一个例外。到目前为止,我已尝试过以下方法: -
尝试安装ODP 3.5,然后通过visual studio发布。
尝试编辑web.config并为其提供完整的连接字符串而不仅仅是数据库别名: - (DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(HOST = myhost)(PORT = 1521))( CONNECT_DATA =(SERVICE_NAME = my_srv)))
我的想法已经不多了。这是代码和异常错误。请帮忙: -
代码:
string oradb = "Data Source=MY_SRV;User Id=USERID;Password=PWD;";
Oracle.DataAccess.Client.OracleConnection conn = new Oracle.DataAccess.Client.OracleConnection(oradb);
Oracle.DataAccess.Client.OracleCommand cmd = new Oracle.DataAccess.Client.OracleCommand("myOracleStoredPrc", conn);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add("p_db_name", "varchar2").Value = "abc";
cmd.Parameters.Add("p_user_name", "varchar2").Value = "xyz";
conn.Open();
cmd.ExecuteNonQuery();
conn.Dispose();
我启动iis网站时遇到的例外情况:
未处理的执行错误 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 异常详细信息:Oracle.DataAccess.Client.OracleException: 来源错误: 在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息 堆栈跟踪: [OracleException(0x80004005)] Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode,OracleConnection conn,IntPtr opsErrCtx,OpoSqlValCtx * pOpoSqlValCtx,Object src,String procedure,Boolean bCheck)+1532 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode,OracleConnection conn,IntPtr opsErrCtx,Object src)+49 Oracle.DataAccess.Client.OracleConnection.Open()+ 4800 WebApplication1.ResetOraclePwdForm.Page_Load(Object sender,EventArgs e)+72 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,EventArgs e)+51 System.Web.UI.Control.OnLoad(EventArgs e)+92 System.Web.UI.Control.LoadRecursive()+54 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)+772
答案 0 :(得分:0)
转向ManagedDataAccess解决了我的问题