最近为使用Oracle11G数据库做个快速开发的小程序,使用64位Win2008+Vs2012环境,结果碰壁连环,幸好不算太笨,终于解决了,特记录一下。

测试环境: Oracle11g (11.2.0.3_64bit)安装在64位Win2008上,同机安装Vs2012,C#语言。

在项目引用system.data.oracleclient后,提示:Ms仅在.net framework 4尚支持system.data.oracleclient,今后的版本将不再提供这个组件了。

于是想改用Oracle提供的组件。

匆忙到Oracle官网下载了ODAC 11.2 Release 4 (11.2.0.3.0) ,32位和64位的都下了,很想当然地就安装了64位的ODP.Net,结果vs2012里的server explore里添加数据库连接时,根本不出现Oracle提供的组件选项。仔细看了一下,release 说明,只支持到VS2010,白忙了!

不死心,再下ODAC 11.2 Release 5 (11.2.0.3.20),32位和64位的都下了,爬网,网友说Vs2012是32位的,就安装了32位的ODP.Net,结果vs2012里的server explore里添加数据库连接时,出现Oracle提供的组件选项,心中一喜,有门。可是输入参数后报错:" Ora-12560:TNS:... " 。 按错误号检查了数据库服务、监听、TNSname等,似乎没有错。另外这个组件的界面也乖乖的,输入连接的验证用户名(小写)后,再输入密码,用户名就变成大写字母了的,让人不放心。

继续爬网,看到网友“安裝ODAC 11.2 Release 5後Visual Studio無法使用Oracle資料來源”一文,有些启发。但感觉问题还是出在安装程序做了坏事,破坏了原来能用的TNSNAME设置。当然,删除老版本是对的。

为测地删除我电脑上已安装的ODAC 11.2 Release 5,干脆再下载了最新版的ODAC 11.2.0.3.60 beta,然后先删除了ODAC 11.2 Release 5,再安装ODAC 11.2.0.3.60 beta,安装过程中还提示连接串参数了,心想终于快天亮了。安装顺利,Vs2012里添加连接,出现的界面也正常了(不象release 5那个怪了),输入参数,点击“测试连接”,依旧报错:" Ora-12560:TNS:... " 。

幸好检查下,lsnrctl service, 发现只有一个服务在听,缺少了2个实例(我的电脑上安装了2个不同的数据库实例NFD和ORCL)的TCP侦听,但是又不想用网友的办法手工修改machine.config的DbProviderFatories,于是启动 Net Configuration Assistant重新配置了一下,监听和本地命名,再重启了一下2个实例的服务和Listener服务,再看lsnrctl service,正常了,如下:

C:\Users\zyc>lsnrctl services

LSNRCTL for 64-bit Windows: Version 11.2.0.3.0 - Production on 16-7月 -2013 11:0
1:49

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=zycBackupSvr)(PORT=1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
  实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    处理程序:
      "DEDICATED" 已建立:0 已被拒绝:0
         LOCAL SERVER
服务 "nfd" 包含 1 个实例。
  实例 "nfd", 状态 READY, 包含此服务的 1 个处理程序...
    处理程序:
      "DEDICATED" 已建立:0 已拒绝:0 状态:ready
         LOCAL SERVER
服务 "nfdXDB" 包含 1 个实例。
  实例 "nfd", 状态 READY, 包含此服务的 1 个处理程序...
    处理程序:
      "D000" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready
         DISPATCHER <machine: ZYCBACKUPSVR, pid: 4988>
         (ADDRESS=(PROTOCOL=tcp)(HOST=zycBackupSvr)(PORT=44919))
服务 "orcl" 包含 1 个实例。
  实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
    处理程序:
      "DEDICATED" 已建立:1 已拒绝:0 状态:ready
         LOCAL SERVER
服务 "orclXDB" 包含 1 个实例。
  实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
    处理程序:
      "D000" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready
         DISPATCHER <machine: ZYCBACKUPSVR, pid: 4964>
         (ADDRESS=(PROTOCOL=tcp)(HOST=zycBackupSvr)(PORT=44968))
命令执行成功

就这样,在vs2012里,数量添加了Oracle数据库连接,打开了久违的Db。

[置顶] 64位Win2008_VS2012使用ODP.NET遭遇问题和解决办法的更多相关文章

  1. 64位Win2008_VS2012使用ODP.NET遭遇问题和解决办法

    原文地址:64位Win2008_VS2012使用ODP.NET遭遇问题和解决办法 最近为使用Oracle11G数据库做个快速开发的小程序,使用64位Win2008+Vs2012环境,结果碰壁连环,幸好 ...

  2. 64位Windows7升级IE11后无法启动的解决办法

    1.控制面板\网络和 Internet\Internet选项 2.在高级选项卡的“安全”组配置

  3. Ubuntu(64位)编译Android源码常见错误解决办法

    2013年07月10日 14:47:27 阅读数:1239 错误: /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file ...

  4. 64位 SQL Server2008链接访问Oracle 过程汇总解决方法记录

    64位 SQL Server2008链接访问Oracle 过程汇总解决方法记录 经过几天不停的网上找资料,实验,终于联通了. 环境:系统:win 2008 ,SqlServer2008 R2, 连接O ...

  5. 64位系统使用Access 数据库文件的彻底解决方法

    最近,有PDF.NET用户问我怎么在64位系统下无法访问Access数据库的问题,我第一反应是我怎么没有遇到呢?今天一看自己的VS和Office都是32位版本的,所以在VS里面调试访问Access是没 ...

  6. window2008 64位系统没有office组件问题分析及解决

    服务器是windows server2008 64位系统, 我的系统需要用到Microsoft.Office.Interop.Excel组件 在上传Excel单据遇到错误:检索 COM 类工厂中 CL ...

  7. Windows7 64位中出现的KERNELBASE.dll错误的解决方法

    最近在服程序时遇到个问题,电脑是win764位,编译完的exe测试,偶尔总报错,报错是偶尔的,有时候报错很频繁,但是有一次测试,测试了半天都没有报错,我以为好,发布输出没一会儿又报错了,真是崩溃了,所 ...

  8. 一个伟大的发现,装X一下。笔记本win7系统64位机器执行unity 时,屏幕模糊解决的方法

    笔者笔记本win7系统64位机器执行unity 时.往往切换时unity界面屏幕模糊,后来发现此时须要下载DirectXRuntimes201006x64,安装就可以.

  9. 关于Win7 64位下:Navicat无法连接64位Oracle 11gR2:Cannot load OCI DLL解决方法

    错误描述 在Win7下安装了Oracle 11g R2,在用Navicat去连接Oracle时,提示以下错误: Cannot load OCI DLL, 126: Instant Client pac ...

随机推荐

  1. (step8.2.2)hdu 2509(Be the Winner——简单博弈)

    题目大意:输入一个整数n,表示火柴堆数(原题其实指的是苹果堆数,但是为了尽量与模板保持一致,所以在这里理解为火柴堆数....其实理解为什么都没关系, 重要的是,理解就行....).在接下来的一行中,有 ...

  2. 常用位操作,读8位 I2C 1302 18B20 .

    /*1302*/ unsigned char DS1302OutputByte(void) //实时时钟读取一字节(内部函数) { unsigned char i; for(i=8; i>0; ...

  3. BON取代半岛电视,美国人要“换口味”了吗?

        记得很久以前唐骏在某高校演讲时,讲了这么一个笑话,他问一位美国最普通的大妈,“请你说出三个印象最深刻的中国城市”,在北京奥运会之前,这位大妈说了如下三个城市:北京.香港.新加坡.很显然,这位大 ...

  4. 二维码的妙用:通过Zxing实现wifi账号password分享功能

    二维码是搭载信息的一种载体,通过二维码能够传递名片.网址.商品信息等,本文讲到二维码的第二种妙用:通过二维码实现wifi账号和password分享. 关于二维码的基础知识,请訪问:二维码的生成细节和原 ...

  5. Lucene核心--构建Lucene搜索(上篇,理论篇)

    2.1构建Lucene搜索 2.1.1 Lucene内容模型 一个文档(document)就是Lucene建立索引和搜索的原子单元,它由一个或者多个字段(field)组成,字段才是Lucene的真实内 ...

  6. 跨平台运行ASP.NET Core 1.0(转载)

    前言 首先提一下微软更名后的叫法: ASP.NET 5 更名为 ASP.NET Core 1.0 .NET Core 更名为 .NET Core 1.0 Entity Framework 7 更名为  ...

  7. jfinal集成spring cxf做webservice服务

    链接地址:http://zhengshuo.iteye.com/blog/2154047 废话不说,直接上代码 新增cxf的plugin CXFPlugin package com.jfinal.pl ...

  8. 二、Nginx变量

    $arg_PARAMETER 功能:如果在请求中设置了查询字符串,那么这个变量包含在查询字符串是GET请求PARAMETER中的值. $args 功能:该变量的值是GET请求在请求行中的参数. $bi ...

  9. C语言中Const与指针(转载)

    一.说明指针常量.指向常量的指针和指向常量的常量指针的含义.区别和共同点 首先,以上三种概念的共同点:都指的是指针 指针也是一种变量,它存储指定类型的变量的内存地址,如char* 来声明一个字符型指针 ...

  10. MONGODB的内部构造 FROM 《MONGODB THE DEFINITIVE GUIDE》

    今天下载了<MongoDB The Definitive Guide>电子版,浏览了里面的内容,还是挺丰富的.是官网文档实际应用方面的一个补充.和官方文档类似,介绍MongoDB的内部原理 ...