Search Unity

Unity and Oracle DllNotFoundException: oci

Discussion in 'Getting Started' started by unity_k8l-aLPYNdoZrQ, Mar 23, 2018.

  1. unity_k8l-aLPYNdoZrQ

    unity_k8l-aLPYNdoZrQ

    Joined:
    Dec 6, 2017
    Posts:
    3
    Hello All,

    So basically I was trying to access an Oracle database within unity and mono-develop. I copied the needed DLLs System.Data and System.Data.OracleClient from under: C:\Program Files (x86)\Unity\Editor\Data\Mono\lib\mono\2.0 to the Project's Assets folder,

    Here's my C# code:

    Code (CSharp):
    1. using UnityEngine;
    2. using System.Collections;
    3. using System.Collections.Generic;
    4. using System.Data;
    5. using System.Data.OracleClient;
    6.  
    7.  
    8. public class OracleConn : MonoBehaviour
    9. {
    10.  
    11.     public string connectStr = "SomeConnectionString";
    12.     string TBName = "CZRK";
    13.     List<string> listOfID = new List<string>();                       //ID
    14.     List<string> listOfName = new List<string>();                     //NAME
    15.  
    16.     private string content;
    17.  
    18.  
    19.     void Start()
    20.     {
    21.         OracleConnection conn = new OracleConnection(connectStr);
    22.  
    23.         conn.Open(); //the line that causes error
    24.  
    25.     }
    26.  
    27. }
    then the error DllNotFoundException: oci pops out when executing conn.Open()
    the full error log in Oracle:

    Code (CSharp):
    1. DllNotFoundException: oci
    2. System.Data.OracleClient.Oci.OciCalls.OCIEnvCreate (System.IntPtr& envhpp, OciEnvironmentMode mode, IntPtr ctxp, IntPtr malocfp, IntPtr ralocfp, IntPtr mfreep, Int32 xtramem_sz, IntPtr usrmempp)
    3. System.Data.OracleClient.Oci.OciEnvironmentHandle..ctor (OciEnvironmentMode mode)
    4. System.Data.OracleClient.Oci.OciGlue.CreateConnection (OracleConnectionInfo conInfo)
    5. System.Data.OracleClient.OracleConnectionPoolManager.CreateConnection (OracleConnectionInfo info)
    6. System.Data.OracleClient.OracleConnectionPool.CreateConnection ()
    7. System.Data.OracleClient.OracleConnectionPool.GetConnection ()
    8. System.Data.OracleClient.OracleConnection.Open ()
    9. (wrapper remoting-invoke-with-check) System.Data.OracleClient.OracleConnection:Open ()
    10. OracleConn.Start () (at Assets/OracleConn.cs:25)
    Besides, I also tried copy the DLL file oci.dll from oracleDB_11g into the assets folder, but problem remains, any ideas??

    Thanks in Advance!