oracle常见为题汇总,以及一个简单数据连接操作工厂

本人软件环境:win8.1 64位操作系统,vs2013,安装好了与oracle数据库对应的客户端

              连接oracle数据库、以及操作数据库

1.使用IIS建立 站,浏览 页时候,提示“未在本地计算机上注册“MSDAORA”提供程序

解决方案: 在本机IIS中,对应自己的 站程序,找到相应的 站应用池,高级设置→启用32位应用程序→true,即可,当然也可以设置全部的应用池程序。

如果是winform或者wpf,请将项目中的属性 cpu类型选择为x86即可

2.浏览 页时候“ORA-06413: 连接未打开

主要原因 :oracle 连接数据库的程序所在的物理路径是不允许有特殊字符的;

  vs系列在windows OS 64位版本下安装时,默认x86程序会安装至program files ( x86 ) ,当然这个“()”,就会引起此问题,深入理解一下:原来在项目中运行web程序,所使用的是VS默认内置web服务器(develop server,现在是IIS express server),而这个内置服务器的程序被安装在了c:/program files(x86)/common files/ 下面,这里用到了”(“,因此造成了错误。(winform程序,暂未测试,但是主要原因,是这个问题。)

解决方案:2.1.修改vs系列的安装目录,主要是指安装过程中需要注意,如果安装好了,最好还是别改了。太麻烦了

  2.2.修改这个内置server的安装路径,然后把VS中(项目→属性→web→服务器→服务器指向)服务器指向改成自己定义的,暂时没找到怎么执行自定义的

  2.3.所以这里只用了一个方法绕开内置server。那就是使用本机IIS来调试程序。在解决方案中,选中web项目点右键选属性(项目→属性→web→服务器),在web标签下可以把调试服务器改为“本机iis”。这时候再调试web程序,结果会出现“未在本地计算机上注册“MSDAORA”提供程序”,晕,原来是64位的IIS,怎么办,(设置全部的应用池程序,启用32位支持)打开IIS,点击应用池程序,在操作界面右侧,设置应用程序池默认设置,启用32位应用程序→true,即可,连接数据库成功了。

这个爽了吧,调试什么的都莫有问题。

3.DOS使用sqlplus连接oracle数据库时候,出现“ORA-12560: TNS: 协议适配器错误

解决方案:可能是先输入用户名,在密码方式进入的,然后服务器有多个数据库实例,权限不一致所导致, 可以使用指定具体某一个数据库的方式进入:

  cmd> sqlplus 用户名/密码@数据库名称 例如:sqlplus system/shine@puren

4.浏览 页时候,提示”未找到oracle 客户端和 络组件“问题

详解: 找到ORACLE_HOME文件夹,右击—〉属性—〉安全,选Authenticated Users,查看它的属性,将Read and Execute的勾先去掉(默认情况下该勾是选中的),在勾上,然后重新启动你的机器,在运行程序,

  未安装的话:请查看: http://www.cnblogs.com/yylp521/archive/2012/04/09/2438676.html

5.未选定行

其实是:没有数据 ,主要是使用PL/SQL 在非查询操作,时候需要使用commit提交。

6.提供一个简单多数据库连接操作类(mssqlerver、oracle、mysql)

web.config

简单使用

  //添加参数
  List<DbParameter> paraList = new List<DbParameter>();
  paraList.Add(DBFactory.AddFiled(“source_id”, serialNum));
  //执行sql语句
  DBFactory.ExecuteDataTable(“select  * from patient where source_id=,paraList.ToArray());//oracle

  //paraList.Add(DBFactory.AddFiled(“@source_id”, serialNum));
  //DBFactory.ExecuteDataTable(“select  * from patient where source_id=@source_id”,paraList.ToArray());//mssqlserver

  

  //mysql的忘了,有时间补上

简单区别

  mssqlserver :不需要引用类库(已内置了),格式化参数使用@参数名

  oracle:需要安装本地客户端,或者下载oracle for net操作类库(安装包越来越大了),也可以使用oledb操作,而原来使用System.Data.Oracle; VS 已不建议使用。 格式化参数用/p>

  mysql:简单使用的话,直接调用类库,更多关于mysql连接的可以查看: http://www.cnblogs.com/yylp521/p/3173176.html

文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树数据库组成31328 人正在系统学习中 相关资源:基于C程序的周易占卜软件_c语言算命系统-C#代码类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2013年11月21日
下一篇 2013年11月21日

相关推荐