参考:http://blog.csdn.net/ikmb/article/details/5825047
PS:
开发环境 Windows 7 sp1 en utl, vs2010 sp1 utl ,开发用的是Framework 2.0
Oracle 服务器 Windows 2003 Ent R2 CHS,Oracle 11gr2
1) C# 访问 Oracle 11G R2 With client
a) 首先从官网下载Oracle Data Access Components (ODAC),这里下载的是 ODTwithODAC112021.zip
b)点击默认安装
c)在VS项目里引入 Oracle.DataAccess.Client;
并在 文件中加入 using Oracle.DataAccess.Client; 就可以正常访问了
2) C# 访问 Oracle 11G R2 With No client
a) 首先从官网下载Oracle Data Access Components (ODAC),这里下载的是 ODTwithODAC112021.zip
b)找台非开发机安装Oracle Data Access Components (ODAC),以便提取dll文件
c) 在ODAC 的安装%\product\11.2.0\client_1目录下,
复制 oci.dll,ociw32.dll,oraociicus11.dll,OraOps11w.dll,orannzsbb11.dll,oraocci11.dll,oraociei11 到项目类库文件夹
复制%\product\11.2.0\client_1\odp.net\bin\2.x目录下的Oracle.DataAccess.dll到项目类库文件夹,并添加项目引用
d)配置使用程序的app.config
Web 项目时
须在 web.config 文件中的<configuration></configuration>中增加下面的配置
<system.data>
<DbProviderFactories>
<add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET" type="Oracle.DataAccess, Version=2.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
</DbProviderFactories>
</system.data>
WinForm,与类库项目 中则是 在 app.config 中配置
配置项中的 type内容可以从 引入的项目文件中找到,
若在Test.DataBase项目中引入的 Oracle.DataAccess.dll,则
在Test.DataBase的文件夹中,用记事本打开Test.DataBase.csproj文件,可以看到
<ItemGroup>
<Reference Include="Oracle.DataAccess, Version=2.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
最后把这个oci.dll,ociw32.dll,oraociicus11.dll,OraOps11w.dll,orannzsbb11.dll,oraocci11.dll,oraociei11 复制到 编译的文件夹中,
CS的要与exe一个文件夹,B/S的有专门的bin目录,VS的测试工程的bin文件夹中