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

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

  • 相关阅读:
    晕倒的AIX
    MySQL Replication(zt)
    pxe启动网络安装CentOS(win平台)(zt)
    几句比较实用的script
    改注册表方式防DDOS攻击[ZT]
    一个免费空间列表相对集中的地方
    CREE LED的一个小资料
    下一步准备研究的东西:rsync远程同步
    PXE启动安装Linux (zt)
    系统调用
  • 原文地址:https://www.cnblogs.com/xqlcrystal/p/Oracle.html
Copyright © 2011-2022 走看看