plsql连接多个数据库设置.docx_第1页
plsql连接多个数据库设置.docx_第2页
plsql连接多个数据库设置.docx_第3页
plsql连接多个数据库设置.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

plsql连接多个数据库设置前一段时间在网上看到OracleClientDriver是微软出的连接Nhibernate和Oracle的字符串。而OracleDataClientDriver是Oracle自己出的。有很多的地方OracleDataClientDriver 比OracleClientDriver要优秀。而且微软规定以后可能要废弃OracleClientDriver。所以要将项目中用到的OracleClientDriver改为OracleDataClientDriver。当然这时会报错的然后将Oracle.DataAccess.dll”拷贝到网站的bin目录下。 再次运行程序,会抛出“无法将类型为“Oracle.DataAccess.Client.OracleConnection”的对象强制转换为类型“System.Data.Common.DbConnection”。 ”异常。引发这个异常的是“NHibernateToolhbm2ddlSuppliedConnectionProviderConnectionHelper.cs”。第25行:“connection = (DbConnection)provider.GetConnection();”。有一个方法可以绕过这行代码的执行,就是在hibernate.cfg.xml里增加一行“none”。 在此运行提示缺少OraOps10.dll-这个问题一直困扰小弟。最后在师兄的提醒下。在自己的机器上安装了Oracle的精简版。是10.2.0的版本然后缺少OraOps10.dll的问题解决了(原因是自己的机器上没有安装Oracle的部分dll造成的)。 正当小弟欣喜之时。问题在此降临。我发现自己原先的NHibernate连接Oracle的字符串有问题。运行Test后发现竟然连不上了。暴怒之下上网搜资料。发现是原先自己制作的客户端跟现在安装的Oracle的精简版在端口上冲突了。考虑再三。将原先配置的Oracle客户端和环境变量。以及现在安装的Oracle精简版全部删掉。没想到。用360和微软自带的添加删除程序竟然找不到Oracle的程序。幸好oracle碰上克星了-删除Oracle的方法:先在服务里面将Oracle的4个服务停掉。然后将Orace的安装文件删掉。然后去注册表里将带Oracle的文件删掉,当然。这时候要小心了vs2008自带的Oracle连接字符串不要删。可能有几个Oracle删不掉。没有关系我们下一个优化大师。点击清理注册表。清理完后。在注册表里点击搜索Oracle已经没有东西了。- 删完之后重启电脑。然后重新安装Oracle。-这是在运行Test。哈哈-可以将VS2008跟Oracle连上了。然后在路径F:SimpleCOracleXEapporacleproduct10.2.0serverNETWORKADMIN下面找到sqlnet.ora文件在字段-XE =(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = yinfuqing)(PORT = 1521) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE) )的后面加上YANKUANG=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 98)(PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = yankuang.sys) )保存后运行Test。晕了。不但连不上了。连连接OracleXE版本的也不行了。提示无法解析指定的连接标识符 没办法在上网查资料发现原来我加的字符串前面有空格。可能这个问题大家不是很明白。我放大一下空格+YANKUANG=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 98)(PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = yankuang.sys) ) 然后我将空格去掉我们可以用Editplus来打开。可以清楚的看到前面有空格。去掉之后问题解决了。现在不但自己机器上的精简版可用。远程的Oracle也可以连上了 问题终于完成了。现在的连接代码小弟将他们贴出来供大家参考:这是tnsnames.ora的代码:XE =(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = yinfuqing)(PORT = 1521) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE) )YANKUANG=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 98)(PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = yankuang.sys) )EXTPROC_CONNECTION_DATA =(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) )ORACLR_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE) ) (CONNECT_DATA = (SID = CLRExtProc) (PRESENTATION = RO) ) ) 这是hibernate.cfg.xml的代码: NHibernate.Driver.OracleDataClientDriver Data Source=XE;User ID=system;Password=sdie?!3406 false !-NHibernate.Dialect.MsSql2005Dialect- NHibernate.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论