为将SqlSugar ORM转制成OracleSugar ORM 本想一天搞定,凭着经验不看任何Oracle资料就直接强上了,但是从配置PLSQL和一些语法区别带来了很多坑让我进度放缓

这个贴子对于身边没有Oracle朋友或第一次接触Oracle的朋友应该会有些帮助

1、Oracle安装的目录不能有中文,不能有中文

如果是WIN10的用户在安装过程中会抛出警告,不要管它直接强行安装,安装目录里面不能有中文重要的事情说三遍。

2、下载安装服务

你要知道下址载什么:

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html

下载1of2和2of2解压到同一个目录点击安装 ,安装过程非常简单但是要记住你设置的账号和密码。

有几个服务默认会启动,一般都会启动。

3、配置客户端

PLSQL

PLSQL去CSDN下载有现成的

数据库 填  地址/服务  第一次我看了也不懂填只好去查资料

这样还是登录不了的,还要配置奇葩OCI

目录地址:设置ORACLE的主目录

OCI地址: 如果主目下BIN文件的OCI设置了不能用,就要单独下载一个 OCI.dll,填写下载的OCI.DLL地址

OK这样就能够跑起来了

Navicat

下载:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

Instant Client for Microsoft Windows (x64)

将它解压覆盖到 Navcat 安装目录下的  Navicat\Oracle\servers\ora

设置刚才覆盖的地址

OK可以跑起来了

4、表名的大写与小写

如果使用PLSQL可能不会遇到这种问题他会把你的表自动转成大写,假如你用Navcat建一个表为Student ,

你使用 select * from Student是查询不到这个表的,只能写成这样select * from "Student" 所以建表和字段需要改成大写 这样在查询的时候会很方便。

5、参数化的区别

MYSQL SQLITE SQLSERVER 都可以使用@参数化 ,而ORACLE只能使用 : 作为参数符号

坑了我最长时间的一个坑,就是参数化的顺序问题,这个问题同样不是很多人都会遇的到,因为我用的是最底层的Ado.net

select * from Student where name=:name and id=:id

我的参数是

new OracleParamer[] { id=1,name="2" }(数组不是这么声名只是让你们看的更清楚些。)

因为顺序不同导致错误 所以必须要写成

new OracleParamer[] { name="2" ,id=1}

(经过各种排除法才找到了是顺序引的BUG,当时血差点吐出来了,难道Oracle和Access一样不智能)

解决这个问题的方法就是

将   SqlCommand.BindByName = true;

设置后顺序问题就解决了,解决问题很容易,难的是找不出问题点在哪儿。

6、默认Oracle只能查询一条语句

如果你写成  insert (xxx) values (xxxx);select xxx; 这样是会报错的,要加上begin end才可以执行多条 ,貌似 begin end不能用于查询只能是 update delete insert

7、Oracle和SQLServer不一样没有identity都是通过序列实现的

创建一个序列,然后行入 insert (id) values (序列名.Nextval)   查询当前序列用  SELECT 序列名.currval from dual  相当于select @@identity

另外OracleSugar.ORM 已经转制成功了 花了些时间,在测试2天就会发布。

可以先了解下 SqlSugar ORM http://www.cnblogs.com/sunkaixuan/p/5654695.html

转载于:https://www.cnblogs.com/sunkaixuan/p/5867046.html

从SqlServer转手Oracle的一些坑相关推荐

  1. Mysql,SqlServer,Oracle主键自动增长的设置

    Mysql,SqlServer,Oracle主键自动增长的设置 参考文献 http://blog.csdn.net/andyelvis/article/details/2446865 1.把主键定义为 ...

  2. oracle判断值是否为0的高数,SQLServer和Oracle的常用函数对比

    数学函数 1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.001) ...

  3. [转]SQLServer和Oracle,存储过程区别,常用函数对比

    本文转自:http://www.cnblogs.com/neru/archive/2011/08/18/2144049.html 以前一直用sqlserver,只有很少的一点oracle的经验,现在要 ...

  4. 关于sqlserver和oracle的一点感受

    2012年使用了一点oracle,那个时候其实并不真正的了解这个数据库,所会的也就是利用toad做一些简单的管理,后来转战到sqlserver才开始对数据库这个东西有了一些了解.使用了sqlserve ...

  5. oracle在线sql数据库设计,一款在线ER模型设计工具,支持MySQL、SQLServer、Oracle、Postgresql...

    在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 介绍一个在线ER模型生成工具,该工具可以在线为多个数据库的DDL文件生成ER模型图,并支持MySQL,SQLServ ...

  6. sqlserver oracle 数据类型对应关系,SQLSERVER和ORACLE数据类型对应关系详解和对应表格整理...

    Oracle SQLServer 比较 SQLServer 常见的 数据 库 类型 字符 数据 类型 CHAR CHAR :都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面 ...

  7. 一个通用数据库操作组件DBUtil(c#)、支持SqlServer、Oracle、Mysql、postgres、SQLITE

    这是一个.net下操作数据库(结构数据库)的工具类,支持sqlserver.oracle.mysql.postgres.sqlite.access等常见数据库. 注意:它并不是一个orm工具(常见的o ...

  8. mysql数据迁移到sqlserver_一个通用数据库操作组件DBUtil(c#)、支持SqlServer、Oracle、Mysql、postgres、SQLITE...

    这是一个.net下操作数据库(结构数据库)的工具类,支持sqlserver.oracle.mysql.postgres.sqlite.access等常见数据库. 注意:它并不是一个orm工具(常见的o ...

  9. oracle_sqlserver和mysql获取表外键的方法_mysql、sqlserver、oracle三种数据库维护索引、外键、字段语法总结...

    mysql.sqlserver.oracle三种数据库维护索引.外键.字段语法总结 1.     MYSQL数据库 1)    创建索引 CREATE INDEX index_name ON tabl ...

最新文章

  1. 仙剑奇侠传 游戏 开发 教程 Xianjian qixia development Game development tutorial
  2. 游戏 AI 相关文章
  3. 2017年9月9日普级组 买礼物的艰辛
  4. 被黑客盯上了…数据都给打包带走了…
  5. 【牛客 - 315B】 勇气获得机(二叉树性质,思维,知识点,tricks)
  6. python数组初始化_Python科学计算库Numpy数组的初始化和基本操作
  7. vs无法启动程序 系统找不到指定文件_进不了系统时要做的事情
  8. 线性表java实现之顺序存储源码
  9. 微信测试账户申请以及测试
  10. Mysql数据库优化
  11. 2022年危险化学品经营单位安全管理人员考试模拟100题及模拟考试
  12. matlab解方java_在matlab中求解欠定方程组
  13. 《Windows》Windows桌面设置
  14. Oracle数据库学习--2个不错的网站
  15. Android av sync机制
  16. 【转载】JVM能够开启多少线程
  17. 安装【银河麒麟V10】linux系统
  18. 数字电视基本概念学习
  19. 关于LSM-tree 的 Remote Compaction调度
  20. Python实战|js逆向完美世界

热门文章

  1. oracle last day比较,PLSQL LAST_DAY用法及代码示例
  2. ansible读不到java_home_ansible执行带有环境变量的脚本不生效
  3. java getselectedrow_Java Swing实现展示数据,以及过滤排序
  4. matlab ode45三体问题,“毕达哥拉斯3Body Proxblem”ODE解算器测试的下一步
  5. java bean状态_无状态和有状态的企业Java Bean
  6. python open写入_Python IO操作文件读取和写入、open函数的mode参数、buffering,文件缓冲区...
  7. 计算机原理课程代码二三八四,计算机原理(2012年版)课程代码:02384
  8. azure虚拟服务器,虚拟机系列
  9. IBM小型机没有显卡,用串口登录需要修改tty,加clocal参数
  10. python用于数据处理真的那么强大嘛_为什么有那么多人选择Python,真的有那么好吗?...