xiexuan2007的专栏

本文使用的是oracle10g

按照常规把.NETFramework下的System.Data.dll,System.Data.OracleClient.dll复制粘贴到Assets目录下,,VS添加引用。u3d调试运行报错如下:

Internalcompilererror.Seetheconsolelogformoreinformation.outputwas:UnhandledException:System.IO.FileNotFoundException:Couldnotloadfileorassembly’System.EnterpriseServices,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a’oroneofitsdependencies.

解决方案:不能使用.NET的Framework,必须使用mono定制的对应.NETFramework的dll。索引到:d:\ProgramFiles(x86)\Unity\Editor\Data\Mono\lib\mono\2.0

添加该目录下的System.Data.dll,System.Data.OracleClient.dll替换上面的dll.

u3d调试运行,成功.

但是发布的时候不成功,并报错,说缺少相关dll,于是又在Mono目录下添加了提示的dll。成功运行。

添加的dll有:

本测试程序代码如下:

usingUnityEngine;

usingSystem.Collections;

usingSystem.Collections.Generic;

usingSystem.Data;

usingSystem.Data.OracleClient;

publicclassOracleConnect:MonoBehaviour{

string connectStr = "DATA SOURCE=MXSHGC;USER ID=lwhouse;PASSWORD=wms;POOLING=FALSE;"; string DBSpace = "LWHOUSE";

List<string>listOfName=newList<string>();

//Usethisforinitialization

voidStart(){

using (OracleConnection aOracleConnection = new OracleConnection(connectStr)) { aOracleConnection.Open(); string selectStr = "Select s8403 From " + DBSpace + "." + "s84"; OracleCommand aOracleCommand = new OracleCommand(selectStr, aOracleConnection); OracleDataReader aOracleDataReader = aOracleCommand.ExecuteReader(CommandBehavior.CloseConnection); while (aOracleDataReader.Read()) { //MessageBox.Show(aOracleDataReader["NAME"].ToString()); listOfName.Add(aOracleDataReader["s8403"].ToString()); } print("index 0,s8403 is:" + listOfName[0].ToString());}

}

voidOnGUI()

{

if(listOfName.Count>0)

{

GUI.Button(newRect(50,50,100,50),listOfName[0].ToString());

}

else

{

GUI.Button(newRect(50,50,100,50),"哈哈");

}

}

}

愚者用肉体监视心灵,智者用心灵监视肉体

xiexuan2007的专栏

相关文章:

你感兴趣的文章:

标签云: