asp.net 连接 Oracle

  前天,我们的项目要与Java项目做接口,通过两方人员协商,最终决定直接进到库里去相互查数据。

由于Java项目连接的是Oracle数据库,所以接口就是我们的项目也要连接Oracle库,之前从没有写过用Asp.net连接Oracle,

所以从网上找了一个连接串,上面写着无需安装Oracle客户端,可直接进行远程访问,原因是有TNS转码。如:

<connectionStrings>
    <!--Oracle数据库链接 SERVICE_NAME数据库名称 HOST地址 (PORT=1521)-->
    <add name="OrlConnectionString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=IP地址)(PORT=1521))(CONNECT_DATA=(SID=数据库实例名)));User ID=****;Password=****;Unicode=True" providerName="System.Data.OracleClient"/>

</connectionStrings>

  之前把.Net自带的System.Data.OracleClient动态库添加引用,也using了,

  但是测试连接时,还是会报 System.Data.OracleClient 需要Oracle客户端软件 version 8.1.7 或更高版本 以为是连接串写的有问题,用控件直接连Oracle库,

结果测试时,还是存在此问题。无奈之举,只好接着百度、谷歌,一大堆。找到Oracl中的重要的几个dll添加进去,结果还是老样子。

前前后后折腾了3小时之久,后来干脆安装Oracle 10G 的客户端,测试——成功

  因为从网上查的可以不安装客户端就可以直接远程连接,不知道是我哪儿没有配置对,还是 Asp.net连接Oracle 数据库必须要安装客户端,望知道的告知一声,谢谢

  连接成功后,又遇到分页问题,由于分页要求不能用控件直接分页,所以只能自定义分页效果,谁知,吭姐的事发生了。Oracle 数据库中竟然没有 top ...

在SQL中 select top 10 from 表 没有问题,但是在Oracle中想要查出前几条,你得这么写 select a.* from 表 a where rownum <=10  

下面,给出写的分页

select c.* from
(select b.* from
        (select a.*,rownum rn from JournalArticle_qg a
                WHERE ROWNUM <= 当前页数*显示固定条数 and  ''+ 条件+'' order by approvedDate desc

   )  b where rn > (当前页数-1)*显示固定条数 and ''+ 条件+'' order by approvedDate asc

) c where ''+ 条件+'' order by approvedDate desc

如果没有条件直接传 "1=1" 就OK。

  以上是本姐第一次连接Oracle最到的两个问题,完毕。

posted @ 2012-12-15 17:05  我在这  阅读(4041)  评论(0编辑  收藏  举报