none
WIN10 9860更新后VS引用了System.Data.OracleClient程序有异常 RRS feed

  • 问题

  • 本人更新9860后遇到了非常麻烦的问题(9841没有这个问题),使用System.Data.OracleClient的程序调试会报错(现在我没法工作了。。。),直接运行也无法运行,请了解的朋友给予帮助。如果你同样的环境却没有问题,也请告诉我,谢谢!

    系统:WIN10 9860 X64开发工具:VS2013 UPDATE 2
    本机Oracle Client:11gR2 X64

    任意新建一个项目
    引用System.Data.OracleClient
    随便一个事件里写上
    OracleConnection connection = new OracleConnection(ConnectString);
    connection.Open();

    可能一次两次没问题,多次后出现:
    Open时报错“其他信息: 运行时遇到了错误。此错误的地址为 0xdc161aac,在线程 0x2b14 上。错误代码为 0xc0000005。此错误可能是 CLR 中的 bug,或者是用户代码的不安全部分或不可验证部分中的 bug。此 bug 的常见来源包括用户对 COM-interop 或 PInvoke 的封送处理错误,这些错误可能会损坏堆栈。”

    删除对System.Data.OracleClient的引用再添加,又可能能正常调试



    但不调试直接运行后程序报错“值不能为null 参数名:SafeHandle不能为null”
    报错详细内容为:
    有关调用实时(JIT)调试而不是此对话框的详细信息,
    请参见此消息的结尾。

    ************** 异常文本 **************
    System.ArgumentNullException: 值不能为 null。
    参数名: SafeHandle 不能为 null。
       在 System.StubHelpers.StubHelpers.SafeHandleAddRef(SafeHandle pHandle, Boolean& success)
       在 System.Data.Common.UnsafeNativeMethods.OCIAttrSet(OciHandle trgthndlp, HTYPE trghndltyp, Byte[] attributep, UInt32 size, ATTR attrtype, OciHandle errhp)
       在 System.Data.OracleClient.TracedNativeMethods.OCIAttrSet(OciHandle trgthndlp, Byte[] attributep, UInt32 size, ATTR attrtype, OciHandle errhp)
       在 System.Data.OracleClient.OciHandle.SetAttribute(ATTR attribute, String value, OciErrorHandle errorHandle)
       在 System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(String userName, String password, String serverName, Boolean integratedSecurity, Boolean unicode, Boolean omitOracleConnectionName)
       在 System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString connectionOptions)
       在 System.Data.OracleClient.OracleConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
       在 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
       在 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
       在 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
       在 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
       在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
       在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
       在 System.Data.OracleClient.OracleConnection.Open()
       在 TEST2.Form1.button1_Click(Object sender, EventArgs e) 位置 c:\Users\文捷\Documents\Visual Studio 2013\Projects\TEST2\TEST2\Form1.cs:行号 23
       在 System.Windows.Forms.Control.OnClick(EventArgs e)
       在 System.Windows.Forms.Button.OnClick(EventArgs e)
       在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       在 System.Windows.Forms.Control.WndProc(Message& m)
       在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
       在 System.Windows.Forms.Button.WndProc(Message& m)
       在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


    ************** 已加载的程序集 **************
    mscorlib
        程序集版本:4.0.0.0
        Win32 版本:4.5.21.0 built by: FX453PREVIEWREL
        基本代码:file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
    ----------------------------------------
    TEST2
        程序集版本:1.0.0.0
        Win32 版本:1.0.0.0
        基本代码:file:///C:/Users/%E6%96%87%E6%8D%B7/Documents/visual%20studio%202013/Projects/TEST2/TEST2/bin/Debug/TEST2.exe
    ----------------------------------------
    System.Windows.Forms
        程序集版本:4.0.0.0
        Win32 版本:4.5.21.0 built by: FX453PREVIEWREL
        基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System.Drawing
        程序集版本:4.0.0.0
        Win32 版本:4.5.21.0 built by: FX453PREVIEWREL
        基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System
        程序集版本:4.0.0.0
        Win32 版本:4.5.21.0 built by: FX453PREVIEWREL
        基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Data.OracleClient
        程序集版本:4.0.0.0
        Win32 版本:4.5.21.0 built by: FX453PREVIEWREL
        基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.Data.OracleClient/v4.0_4.0.0.0__b77a5c561934e089/System.Data.OracleClient.dll
    ----------------------------------------
    System.Data
        程序集版本:4.0.0.0
        Win32 版本:4.5.21.0 built by: FX453PREVIEWREL
        基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
    ----------------------------------------
    System.Core
        程序集版本:4.0.0.0
        Win32 版本:4.5.21.0 built by: FX453PREVIEWREL
        基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
    ----------------------------------------
    System.Transactions
        程序集版本:4.0.0.0
        Win32 版本:4.5.21.0 built by: FX453PREVIEWREL
        基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
    ----------------------------------------
    System.Data.OracleClient.resources
        程序集版本:4.0.0.0
        Win32 版本:4.5.21.0 built by: FX453PREVIEWREL
        基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Data.OracleClient.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/System.Data.OracleClient.resources.dll
    ----------------------------------------
    System.Configuration
        程序集版本:4.0.0.0
        Win32 版本:4.5.21.0 built by: FX453PREVIEWREL
        基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------
    System.Xml
        程序集版本:4.0.0.0
        Win32 版本:4.5.21.0 built by: FX453PREVIEWREL
        基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    System.EnterpriseServices
        程序集版本:4.0.0.0
        Win32 版本:4.5.21.0 built by: FX453PREVIEWREL
        基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
    ----------------------------------------
    mscorlib.resources
        程序集版本:4.0.0.0
        Win32 版本:4.5.21.0 built by: FX453PREVIEWREL
        基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/mscorlib.resources.dll
    ----------------------------------------
    System.Windows.Forms.resources
        程序集版本:4.0.0.0
        Win32 版本:4.5.21.0 built by: FX453PREVIEWREL
        基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/System.Windows.Forms.resources.dll
    ----------------------------------------

    ************** JIT 调试 **************
    要启用实时(JIT)调试,
    该应用程序或计算机的 .config 文件(machine.config)的 system.windows.forms 节中必须设置
    jitDebugging 值。
    编译应用程序时还必须启用
    调试。

    例如:

    <configuration>
        <system.windows.forms jitDebugging="true" />
    </configuration>

    启用 JIT 调试后,任何未经处理的异常
    都将被发送到在此计算机上注册的 JIT 调试器,
    而不是由此对话框处理。

    2014年10月30日 9:33

全部回复