none
Understanding System.Data.OracleClient.DLL RRS feed

  • Question

  • Hello all.

    As I understand it, the referenced DLL acts as a Proxy for the installed Oracle client.

    What I'm not so clear about are the particulars regards - if multiple Oracle Clients are install - which client will be utilized by the DLL.  For example, I have Net8, 9i, 10g all installed as part of a what my IT dept calls the Oracle 1.0 Clients. - no clue regards this actually being a bundle offered by Oracle or instead a suite bundled together by our IT group.

    A recent issue I ran into involved replacing the 1.x vervion of System.Data.OracleClient.DLL with the 2.x version.

    No issues using the 1.x of the DLL with a Console App compiled under Framework 3.5.
    But when I upgraded the DLL to the 2.x version I ran into the following:

     ORA-12154: TNS:could not resolve service name

    All other variables being constant (if that even makes sense!), I'm assuming the 1.x DLL was "unaware" of later Oracle clients and that the 2.x version is programmed to use the "latest and greatest" and that perhaps my later Oracle Clients are not properly configured.

    All said, am wondering how these tools play with each other...
    Suspicion also that Environment Variable, specifically SYSTEM version of PATH comes into play here...

    If it helps, I'm on an 32-bit XP machine and am compiling a 32-bit app in VS2008

    thanks for reading!

     

     

    Wednesday, January 5, 2011 4:16 PM

Answers

  •  Hi BillRoberts,

     

    Thanks for your post.

    The System.Data.OracleClient namespace is the .NET Framework Data Provider for Oracle. The .NET Framework Data Provider for Oracle describes a collection of classes for accessing an Oracle data source in the managed space. The different version of the DLL just for updating the DLL, here may some methods have been updated. And I think there is not any relationship between Oracle Client and .NET Framework Data Provider for Oracle.

    >>>> ORA-12154: TNS:could not resolve service name

    This link give detail reason about the error: http://dbaspot.com/ora-12154-tns-could-not-resolve-service-name.html

    We often use "Toad tool" to connect to Oracle database, we should install oracle client and we should set PATH and so on, by the way, I am not familiar with Oracle. Thanks for understanding.

     

    Have a nice day.


    Alan Chen[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Thursday, January 6, 2011 3:05 AM
    Moderator
  • TNS errors are Oracle configuration errors and not related to .NET. I would suspect they could also be a result of file system security and not being able to access the tnsnames.ora file.

    http://www.dba-oracle.com/t_ora_12154_tns_resolve_service_name.htm

     


    Paul ~~~~ Microsoft MVP (Visual Basic)
    Thursday, January 6, 2011 1:36 PM

All replies

  • I've found settings here
    HKEY_LOCAL_MACHINE\SOFTWARE\Oracle
    I've also found settings here
    KHEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
    and here
    HKEY_CURRENT_USER\Environment
    The last two are important because the of the path info - I found references to the following Oracle Client Installs:
    C:\OracleClients.100\ora920\bin
    C:\OracleClients.100\ora1010\bin
    C:\OracleClients.100\ora817\bin
    but, there are also snippets of path within the 1st - very confusing mess - seems no definitive place where all elements are stored.
    Wednesday, January 5, 2011 6:39 PM
  •  Hi BillRoberts,

     

    Thanks for your post.

    The System.Data.OracleClient namespace is the .NET Framework Data Provider for Oracle. The .NET Framework Data Provider for Oracle describes a collection of classes for accessing an Oracle data source in the managed space. The different version of the DLL just for updating the DLL, here may some methods have been updated. And I think there is not any relationship between Oracle Client and .NET Framework Data Provider for Oracle.

    >>>> ORA-12154: TNS:could not resolve service name

    This link give detail reason about the error: http://dbaspot.com/ora-12154-tns-could-not-resolve-service-name.html

    We often use "Toad tool" to connect to Oracle database, we should install oracle client and we should set PATH and so on, by the way, I am not familiar with Oracle. Thanks for understanding.

     

    Have a nice day.


    Alan Chen[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Thursday, January 6, 2011 3:05 AM
    Moderator
  • TNS errors are Oracle configuration errors and not related to .NET. I would suspect they could also be a result of file system security and not being able to access the tnsnames.ora file.

    http://www.dba-oracle.com/t_ora_12154_tns_resolve_service_name.htm

     


    Paul ~~~~ Microsoft MVP (Visual Basic)
    Thursday, January 6, 2011 1:36 PM
  • Hi BillRoberts,

     I am writing to check the status of the issue on your side.  Would you mind letting us know the result of the suggestions? 
     
    If you need further assistance, please feel free to let me know.   I will be more than happy to be of assistance.

    Have a nice day.


    Alan Chen[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Friday, January 14, 2011 1:13 AM
    Moderator
  • My .NET 4.5 WPF app uses Entity Framework 5.0 with SQL Server, but it always loads System.Data.OracleClient.dll (also did it with EF 4.0). How can I prevent .NET from loading this module that my program doesn't use?

    Thanks!

    Sunday, August 4, 2013 2:04 PM