zoukankan      html  css  js  c++  java
  • .net人连接oracle数据库难吗

    以前有个工具是用asp.net做的,连接的是sql server数据库,现今的项目也有个类似的功能需要做,但是数据库采用的是oracle数据库,小工具吗,没有必要整什么所谓的多数据库兼容,于是采取简化的方案,直接把.net用于操作sql server数据库的那一套全都换成了操作oracle数据库的那一套.net类,引用的是Framework自带的System.Data.OracleClient,连接字符串也换成了oracle风格的

        <connectionStrings>
                   <add name="ConnectionString" connectionString="Data Source=IP或机器名/数据库;Persist Security Info=True;User ID=用户名;Password=密码;Unicode=True"/> 
        
        </connectionStrings>

    一启动,居然出现类似下面的错误

          "System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本"

    难道我本地要安装Oracle 客户端软件,应该不用吧,我只是想连接一下而已;于是baudu、google一把,有的建议用oracle官方的ODP.net,登陆官方一看不要紧,相关工具要200多M,天哪,难道就没有点省事的方法吗,于是继续找查询方案,在csdn上找到了答案,即需要把两个dll(download)拷贝到%windir%\system32下即可。

    再次连接,果然可以啦,但是又有一些问题,即sql server与oracle的sql语句不兼容问题:

    1、top 10

    SQL Server
    Select top 10 colA from tableA

    放在oracle环境下运行不同,报类似“找不到from”之类的错误,错误提示真不友好!后来在网上找了下,可以变成类似下面的方案。

    oracle
    Select colA from TableA where rownum<=10

    2、SQL Server为避免列明与关键字重复可以加“[]”,比如[name],这个东西在oracle中也不承认,需要把“[]”去掉。
    3、SQL server中的“+”连接字符串

    Select colA+":"+colB as AB from TableA

    这个在oracle中也不行,需要写成

    select colA || ':' || colB as AB from TableA

    这些都是小问题,最主要的是搞定连接那一步。

  • 相关阅读:
    centos6安装mono
    Flashcache系统管理员手册
    【ZT】超乎想象 HTML5九大超酷特效体验
    程序员不可不知的C#代码规范
    【推薦】帮你炼成软件架构师的97件事
    [ZT]智能客户端(Smart Client)
    【ZT】成就大型高性能网站的十项规则
    通過SQL取出所有周六/周日的日期到Table
    【杯具】面试才说一句话就被轰出来了
    Integer在webservice的传递
  • 原文地址:https://www.cnblogs.com/xqlcrystal/p/Oracle.html
Copyright © 2011-2022 走看看