日期:2014-05-17  浏览次数:20471 次

WIN7 64系统配Oracle环境,各种报错啊!version 8.1.7 或更高版本......
本帖最后由 shine_fly 于 2014-02-26 15:45:41 编辑
之前用VS2010配Oracle,还可以用,只是不能F5直接运行,参照网上用的方法是把:C:\Program Files (x86)\Common Files\microsoft shared\DevServer\10.0\WebDev.WebServer40.exe拷打C盘根下,然后在项目盘里自建个localhost端口,用的痛并快乐着。

————————————————————————————————————————————————

今天换了电脑,装了VS2010、VS2012,天杀的各种问题来了,不管是装32位还是64位的oracle client,都不行!自己搞localhost也是一样的错!!oracle目录都已赋权限,电脑重启了N次,依然华丽的错误着。。。各位天王天嫂们!!!你们有解决方法吗?????求亲身体会!!求别百度扔链接来!!!因为我已google搜了P用没有。。。。



配32位oracle客户端报错:


配64位oracle客户端报错:

------解决方案--------------------
Oracle客户端组件版本太低,去官网下载一个高版本的试试看。
------解决方案--------------------
实在不行就试试把VS目录调整下,或看看是不是2012中4.5的问题。
------解决方案--------------------
我只能告诉你,csdn    落末了。。。。。。。
------解决方案--------------------
csdn落末了,好强大,csdn落末 竟然是屏蔽字
------解决方案--------------------
不懂你是怎么弄的呢,不就是一个数据库链接的问题,用得了这么复杂吗?
------解决方案--------------------

来我教你不用安装客户端的方法,直接引用DLL就成了,因为你安 装的组件是32位的,而操作系统是64的,要么你把目标平台改成x86 把vs编译方式改成x86 要么用oracle自家给出的不用安装客户端的模式,来上菜了

下载这个 http://download.csdn.net/detail/yenange/6343515 
里面有x64 x86 跟据平台选,不过建议用x86 就是32位的那个把里面32位文件夹下的DLL文件 位32/2.0下的文件考出来,然后你的项目引用Oracle.DataAccess.dll 然后调用方法,就是你之前怎么调用还是怎么调用,不用改



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Oracle.DataAccess.Client;

namespace ConsoleApplication1
{
    class Program
    {
        private static string connstr = @"Data Source=190.160.2.2:1521/PROJECT;Persist Security Info=True;User ID=HFADMINTEST;Password=HFADMINTEST;";

        private static string connstr2 = @"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=190.160.2.2)(PORT=1521)))(CONNECT_DATA=(SID=PROJECT)));User Id=HFADMINTEST;Password=HFADMINTEST;"; 
        static void Main(string[] args)
        {
            using (OracleConnection conn = new OracleConnection(connstr))
            {
                try
                {
                    conn.Open();


                    string sql = string.Format("SELECT * From t_Co_Item");
               &n