发布到azure后无法使用Oracle Data Access

时间:2016-04-07 02:43:55

标签: c# asp.net oracle wcf azure

我在我的机器上为Windows x6464位安装了64位ODAC 12c Release 4(12.1.0.2.4)。并用它连接到远程oracle db。当我部署到正常的IIS时,这很好用。但是当作为Azure云服务发布到azure时(我的项目是WCF服务)。我收到以下错误       System.DllNotFoundException:无法加载DLL'OraOps12.dll'

现在我不知道为什么会这样。这是我用来连接db

的代码
OracleConnection con = new OracleConnection();
con.ConnectionString = "User Id=Usr;Password=*****;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xxx.xxx)(PORT=xxxx)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)));";
con.Open();
OracleCommand comm = new OracleCommand();
string comandtext = "Select * from COR_EMPL_MASTER where EMPL_CODE='" + u.EMPL_EMPL_Code + "'";
DataSet ds = new DataSet();
OracleDataAdapter da = new OracleDataAdapter(comandtext, con);
da.Fill(ds);

2 个答案:

答案 0 :(得分:0)

这是因为azure上没有OraOps12.dll文件。

您可以将OraOps12.dll放入项目的/ Bin文件夹中,并通过virsual studio为其添加参考。之后,您可以将项目发布到Azure云服务。

答案 1 :(得分:0)

终于修好了

嘿,请使用此链接http://alderprogs.blogspot.com/2009/04/deploying-odpnet-with-oracle-instant.html。首先使用从此处下载的驱动程序的Xcopy版本http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html添加对此的Oracle.dataaccess.dll的引用,然后右键单击它并选择属性并在属性集中设置“local copy = true”

然后你要做的是右键单击项目选择“添加现有项目”。添加所有必需的dll,如oci.dll,OraOps12.dll等。现在在这些dll的属性设置“复制到输出目录=复制如果更新”并发布到azure它将工作。