zoukankan      html  css  js  c++  java
  • ADO.NET 与 ORACLE

    在使用.Net使用OracleParameter进行Oracle数据库操作的时候,不少程序员习惯性的使用SqlParameter的语法来定义参数,此时会发生操作失败提示,提示信息为:ORA-01036: illegal variable name/number

    这是因为Oracle和SQLServer针对查询参数化的语法不同,在操作SQLServer的时候使用的是@ParameterName,而Oracle使用的是:ParameterName

    而且sql伪语句也有相应的变化,找了好久的资料,都没找到,结果仔细分析了Oracle查询的赋值语法,终于把问题给解决了,对比一下sqlserver和oracle的区别:

     String sql = "delete from postinfo where id=@id";

     SqlParameter p1 = new SqlParameter("@id", id);

     String sql = "delete from postinfo where id=:id";

     OracleParameter p1 = new OracleParameter("id", id);

    另外就是需要检查数据类型是否相符,此处附上Oracle和SQLServer在C#中的数据类型对照表。

    Oracle在C#中的数据类型对照表

    SQLServer在C#中的数据类型对照表

  • 相关阅读:
    获取网站IP地址(Linux,C)
    linux_c_udp_example
    linux_c_tcp_example
    golang-sort
    docker_jenkins
    依赖抽象,而不要依赖具体实现
    网络杂记
    游戏开发中遇到的问题
    随手杂记
    go多态
  • 原文地址:https://www.cnblogs.com/dogxuefeng/p/2847629.html
Copyright © 2011-2022 走看看