前言:在使用oracle数据进行开发的时候有没有经常出现一些很奇怪.很纳闷.很无厘头的问题呢.下面是本人使用oracle一段时间遇到的问题小节,在此做个记录,方便以后再遇到类似的问题能快速解决.如果你是数据库大虾或者连续使用oracle数据库1年以上,这篇文章可以不用看了,此文请直接略过:如果你是数据库小菜或者刚从sql server转到使用oracle开发,这些问题可能你曾经遇到或者即将遇到,不信?走着瞧! 1.oracle插入数据中文乱码的问题: 问题描述:在plsql中不管是编辑数据,还是…
MARK:http://www.oracle.com/technetwork/cn/articles/adf/index-086064-zhs.html 第 1 部分- 借助 Subversion 进行版本控制:在单用户项目中使用信息库 了解如何在单用户环境下创建信息库并开始使用 Subversion 进行版本控制. 第 2 部分-借助 Subversion 进行版本控制:在团队环境下管理版本 使用 Subversion 帮助您在团队环境下管理版本. 第 3 部分-借助 Subversion 进…
WebApi系列文章 [01]浅谈HTTP在WebApi开发中的运用 [02]聊聊WebApi体系结构 [03]详解WebApi参数的传递 [04]详解WebApi测试和PostMan [05]浅谈WebApi Cores [06]详解WebApi 异常处理 [07]用WebAPI写个基于EF的CURD [08]浅谈WebAPI身份认证 [09]详解系列化和模型绑定 [10]浅谈WebApi如何配合Mvc有效工作 [11]浅谈API Reference [12]浅谈接口在软件架构中的作用 [13…
openresty开发系列30--openresty中使用全局缓存 Nginx全局内存---本地缓存 使用过如Java的朋友可能知道如Ehcache等这种进程内本地缓存.Nginx是一个Master进程多个Worker进程的工作方式,因此我们可能需要在多个Worker进程中共享数据. 使用ngx.shared.DICT来实现全局内存共享. 一)首先在nginx.conf的http部分分配内存大小 语法:lua_shared_dict <name> <size> 该命令主要是定义一块…
openresty开发系列29--openresty中发起http请求 有些场景是需要nginx在进行请求转发 用户浏览器请求url访问到nginx服务器,但此请求业务需要再次请求其他业务:如用户请求订单服务获取订单详情,可订单详情中需要返回商品信息,也就需要再请求商品服务获取商品信息:这样就需要nginx需要有发起http请求的能力,而不是让用户浏览器再次请求商品信息 nginx服务发起http请求区分内部请求 和 外部请求 图解 下面我们就介绍一下,openResty中如何发起http请求?…
openresty开发系列28--openresty中操作mysql Mysql客户端   应用中最常使用的就是数据库了,尤其mysql数据库,那openresty lua如何操作mysql呢?   默认安装OpenResty时已经自带了该模块. 案例,mysql数据库的常用操作,编辑testmysql.lua # centos7中安装mariadb# yum install -y mariadb-server mariadb# systemctl start mariadb-server# 设…
openresty开发系列27--openresty中封装redis操作 在关于web+lua+openresty开发中,项目中会大量操作redis, 重复创建连接-->数据操作-->关闭连接(或放到连接池)这个完整的链路调用完毕,甚至还要考虑不同的 return 情况做不同处理,就很快发现代码中有大量的重复 推荐一个二次封装的类库---------------------------------# 加入openresty的lib库目录# vim openresty/lualib/resty/…
openresty开发系列26--openresty中使用redis模块 在一些高并发的场景中,我们常常会用到缓存技术,现在我们常用的分布式缓存redis是最知名的, 操作redis,我们需要引入redis模块 require "resty.redis": 我们现在做个可以操作redis进行赋值,读值的案例 一)连接redis服务器 ---定义 redis关闭连接的方法local function close_redis(red)      if not red then       …
openresty开发系列25--openresty中使用json模块 web开发过程中,经常用的数据结构为json,openresty中封装了json模块,我们看如何使用 一)如何引入cjson模块,需要使用requirelocal json = require("cjson") json.encode 将表格数据编码为 JSON 字符串格式:jsonString = json.encode(表格对象)用法示例: table 包含哈希键值对 和 数组键值对 -------------…
openresty开发系列24--openresty中lua的引入及使用 openresty 引入 lua 一)openresty中nginx引入lua方式 1)xxx_by_lua   --->字符串编写方式  2) xxx_by_lua_block ---->代码块方式  3) xxx_by_lua_file  ---->直接引用一个lua脚本文件 我们案例中使用内容处理阶段,用content_by_lua演示 -----------------编辑nginx.conf-------…
openresty开发系列16--lua中的控制结构if-else/repeat/for/while 一)条件 - 控制结构 if-else if-else 是我们熟知的一种控制结构.Lua 跟其他语言一样,提供了 if-else 的控制结构. )单个 if 分支 型 if 条件 then --body end 条件为真 ,执行if中的body ----------------------- x = then print("分支一") end ---- x = ) then print…
上次新霸哥和大家讲解了一些关于oracle的知识发现大家对oracle还是比较感兴趣的,下面新霸哥就大家比较关系的oracle中常用的查询有哪几种?做个和oracle相关的开发的朋友可能会知道答案,但是刚接触过oracle的朋友可能还不知道是怎么回事.今天,新霸哥将在此给大家做一个详细的介绍. 多表连接查询 连接多表 1. 笛卡尔积 在没有任何过滤条件的情况下,左表的任意一行记录 与 右表的任意记录进行连接 2. 使用连接查询 下面新霸哥简单的介绍一下语法1:select columnList…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 开发中的SMARTFORMS 参数   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 &symbol& (括号中,小写字母为变量)&symbol&  屏蔽从第一位开始的N位&symbol (n)&   只显示前N位&symbol (S)…
项目中开发中需要对一些数据进行加密后和服务器验证是否是我们客户端发出的请求! 方案是服务器定的,使用HmacSHA1加密和MD5 Base64加密 加密过程比较复杂 1.获取格林威治时间 2.用base64编码对请求数据内容进行MD5值计算 3.设置请求格式 4.设置鉴权信息,需要对上面的3个内容以及请求的链接 进行HMacSHA1再次进行加密 加密过后把上面4步获得的值加入到http的请求头中,一并发送给服务器,服务器经过验证后,才返回给我们我们想要的信息 下面贴代码说明我们使用的两个加密 首…
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.书写规范 1.1.大小写风格 1.2.缩进风格 1.3.换行 1.4.其它 2.命名规范 2.1.数据库对象命名 2.2.变量命名 3.注释规范 4.语法规范 5.总结 5.1.代码的可读性比说明文档更重要 5.2.编程规范必不可少 作为一名使用 Oracle 的开发人员,在写这个系列博文之前,我原打算仅对常用 DDL 和 DML 做一个总结就算了.但在本人阅读<剑破冰山--Oracle开发艺术>第一章--<大话…
扯淡 距上次接触 Oracle 数据库已经是 N 年前的事了,Oracle 的工作方式以及某些点很特别,那会就感觉,这货就是一个奇葩!最近重拾记忆,一直在折腾 Oracle,因为 Oracle 与众不同,所以,想在这儿记录下 Oracle 不同于其他数据库的一些地方以及使用 Oracle 过程遇上的点点滴滴,同时,也让对 Oracle 陌生的同学有所了解. 导航 安装与创建数据库 Oracle 奇葩点 限定符 区分大小写 字符类型比较大小写 dual 表 不能执行多条sql sys_guid 函…
本人从事基于 Oracle 的 .Net 企业级开发近三年,在此之前学习和使用的都是 (MS)SQL Server.未曾系统的了解过 Oracle,所以长时间感到各种不习惯.不方便.怪异和不解,常会遇到一些不明所以的问题,为了工作不得不去上网查找解决方案.对开发人员来讲,数据库中绝大部分功能并不常用,用到的时候记不起来又得去查,这样就容易陷入反复查.反复忘的境地.好几次尴尬的时候我就在想要是有个实用的 SQL 备忘录就好了,最终我决定通过博客来记录,于是就有了本系列博文. 本人自认为对 SQL…
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.表 1.1.创建表 1.2.修改表 & 删除表 2.字段 2.1.添加字段 2.2.修改字段 & 删除字段 3.注释 3.1.表注释 3.2.字段注释 4.约束 4.1.添加主键约束 4.2.添加外键约束 4.3.添加唯一约束 4.4.添加 CHECK 约束 4.5.非空约束 4.6.禁用约束 & 启用约束 & 删除约束 5.索引 5.1.创建索引 5.2.修改索引 & 删除索引 6.总结…
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.触发器 1.1.创建触发器 1.2.禁用触发器 & 启用触发器 & 删除触发器 2.任务 2.1.DBMS_JOB 包介绍 3.序列 3.1.创建序列 3.2.使用序列 & 删除序列 4.连接 4.1.创建 dblink 4.2.使用 dblink & 删除 dblink 5.总结 触发器 创建触发器 CREATE OR REPLACE TRIGGER trg_sync_staff90 -- 功能说…
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.字符函数 1.1.字符函数简介 1.2.语法说明及案例 2.数字函数 2.1.数字函数简介 2.2.语法说明及案例 3.日期函数 3.1.日期函数简介 3.2.语法说明及案例 3.3.日期函数补充 4.总结 众所周知,Oracle 中系统函数特别多,貌似有好几百个,但实际上大部分函数对于普通应用而言,永远都用不到,本文将主要介绍 Oracle 中常见的数据类型函数. 字符函数 字符函数简介 据不完全统计,Oracle 中的字符函数…
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.转换函数 1.1.TO_CHAR 1.2.TO_NUMBER 1.3.TO_DATE 1.4.CAST 2.近似值函数 2.1.ROUND 2.2.TRUNC 3.正则函数 4.高级函数 5.总结 转换函数 Oracle 中的转换函数共计超过 20 个,但一大半都是做字节转换.日期(包括时间和时区)转换.LOB 类型转换.ROWID 类型转换等非常见转换的,光日期转换函数就占了 1/3.剩下几个函数当中有 4 个是比较实用的,也就…
1.聚合函数 1.1.COUNT 函数 1.2.SUM 函数 1.3.MAX 函数 1.4.MIN 函数 1.5.AVG 函数 2.ROWNUM 函数 2.1.ROWNUM 函数简介 2.2.利用 ROWNUM 函数实现分页功能 3.高级函数 3.1.高级函数简介 3.2.语法说明及案例 4.总结 聚合函数 常见的聚合函数有 COUNT.SUM.MAX.MIN.AVG 共 5 个,它们都可以对一组值执行聚合计算,并返回单个值.聚合函数经常与 SELECT 语句的 GROUP BY 子句一起使用.…
1.DUAL 表 2.ROWID 类型 2.1.利用 ROWID 查询数据 2.2.利用 ROWID 更新数据 3.NULL 值 3.1.NULL 与空字符串 3.2.NULL 与函数 3.3.NULL 与索引 3.4.NULL 与 SQL 4.总结 1.DUAL 表 DUAL 是 Oracle 中的一个虚拟表,用来构成 SELECT 的语法规则,Oracle 系统保证 DUAL 里面永远只有一条记录.本人对"用来构成 SELECT 的语法规则"的理解是:由于 Oracle 中的 SE…
1.SQL 语句分类 1.1.分类方法及类型 1.2.数据定义语言 1.3.数据操纵语言 1.4.其它语句 2.动态 SQL 理论 2.1.动态 SQL 的用途 2.2.动态 SQL 的语法 2.3.绑定变量 3.动态 SQL 实战 3.1.封装执行 DML 的通用存储过程 3.2.批量编译数据库对象 3.3.统计数据库的总行数 4.总结 1.SQL 语句分类 1.1.分类方法及类型 在 Oracle 的官方手册<Oracle Database SQL Reference: Types of S…
1.同义词 2.Flashback 技术 3.连接字符串的写法 4.转义字符 & 特殊运算符 5.文件类型 6.查看参数 & 修改参数 7.AWR 工具 8.学习方法 & 学习资料 1.同义词 概念 同义词是数据库对象的一个别名,常用于简化对象访问及提高对象访问的安全性.在使用同义词时,Oracle 数据库自动将它翻译成对应模式对象的名字.与视图类似,同义词并不占用实际存储空间,只在数据字典中保存了同义词的定义.同义词可以指向的对象有表.视图.物化视图.序列.函数.存储过程.包.同…
1.触发器 2.作业 2.1.作业调度功能和应用 2.2.通过 DBMS_JOB 来调度作业 3.序列 3.1.创建序列 3.2.使用序列 & 删除序列 4.连接 4.1.创建连接 4.2.使用连接 & 删除连接 5.总结 1.触发器 可以把触发器看做是一种特殊的存储过程.触发器也是一种定义存放在数据字典中的模式对象,和存储过程一样,都包含声明和执行的 PL/SQL 块.触发器和存储过程最大的不同在于调用方式,存储过程是由用户或应用程序来调用和执行的,而触发器由 Oracle 系统来调用的…
这个话题有些复杂,说起来有些琐碎,因为和移动端适配相关的问题太多了. 1. 概念 1.1 设备像素 设备像素被称为物理像素,它是显示设备中一个最小的物理部件.每个像素可以根据操作系统设置自己的颜色和亮度.这些设备像素的微小距离欺骗了我们肉眼看到的图像效果. 1.2 屏幕密度(ppi) 屏幕密度是指一个设备表面上存在的像素数量,它通常以每1英寸上排列有多少像素来计算(ppi:Pixels Per Inch).苹果公司声称人类的肉眼无法区分单个像素,当一个显示器像素密度超过300ppi的时候,肉眼就…
.Net程序员学用Oracle系列(8):触发器.作业.序列.连接   1.触发器 2.作业 2.1.作业调度功能和应用 2.2.通过 DBMS_JOB 来调度作业 3.序列 3.1.创建序列 3.2.使用序列 & 删除序列 4.连接 4.1.创建连接 4.2.使用连接 & 删除连接 5.总结 1.触发器 可以把触发器看做是一种特殊的存储过程.触发器也是一种定义存放在数据字典中的模式对象,和存储过程一样,都包含声明和执行的 PL/SQL 块.触发器和存储过程最大的不同在于调用方式,存储过程…
[放弃了原文访问者模式的Demo,自己写了一个新使用场景的Demo,加上了自己的理解] [源码地址:https://github.com/leon66666/DesignPattern] 一.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元模式. 行为型模式,共十一种:策略模式.模板方法模式.观察者模式.迭代子模式.责任链模式.命…
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周…