Oracle.DataAccessを参照する.aspxページがあります。私はビジュアルスタジオを介してアプリを起動することができ、それはうまく動作します。私のVSバージョンは2012、IISは7.5、OSはWin 7、ODPは3.5です。Oracle.DataAccess.Client.OracleException 0x80004005
ただし、IISで展開しようとすると、例外が発生します。私はこれまで、次の試してみました: - ごとにDLLをコピーしようとしました
をODP 3.5をインストールしようとしましたし、その後のVisual Studioを通してそれを公開します。
web.configを編集し、DBエイリアスの代わりに完全な接続文字列を与えようとしました。 - (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のサイトを起動したときに私が手例外:
Unhandled Execution Error Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: Oracle.DataAccess.Client.OracleException: Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace: [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
私にとってませ内部例外問題を解決していませんか? ODPはあなたのサーバーに配備されていますか?外部依存関係のない[Oracle Managed Driver](https://www.nuget.org/packages/Oracle.ManagedDataAccess/)を使用していないのはなぜですか? – mason
これが問題の原因であるかどうかはわかりませんが、パラメータのデータ型を指定するには、文字列ではなく適切な列挙を使用する必要があります。 Oracleの場合は、OracleDbType.Varchar2を使用する必要があります – Steve
ありがとうございます... Oracle Managed Driverが問題を解決しました..! – Sahil