晚来天欲雪,能饮一杯无

个人记录


  • 首页

  • 分类

  • 归档

  • 标签

  • 搜索

语法错误: 应为标识符或带引号的标识符

发表于 2018-10-24

在使用C#执行sql的过程中,在plsql中执行没错,在程序中执行的话,就会提示”语法错误: 应为标识符或带引号的标识符”以下错误

解决办法

包含子查询的将子查询去掉用联合查询来做

例子:

1
2
3
4
5
6
7
8
--原sql为
select rownum r, t2.well_name,t2.layers,t2.top_deep,t2.bottom_deep,t2.middle_deep,t2.pressure,t2.pressure_coefficient,t2.test_date,t2.remark from (
select t1.well_name well_name,t1.layers layers,t1.top_deep top_deep,t1.bottom_deep bottom_deep,t1.middle_deep middle_deep,t1.pressure pressure,t1.pressure_coefficient pressure_coefficient,t1.test_date test_date,t1.remark remark
from cd_pressure_coefficient t1 where t1.doc_id='{0}' order by test_date ) t2
--改为

select t1.well_name well_name,t1.layers layers,t1.top_deep top_deep,t1.bottom_deep bottom_deep,t1.middle_deep middle_deep,t1.pressure pressure,t1.pressure_coefficient pressure_coefficient,t1.test_date test_date,t1.remark remark
from cd_pressure_coefficient t1 left join dual t1 where t1.doc_id='{0}' order by test_date

oracle 导入带有BLOB类型字段的表时修改表空间

发表于 2018-10-12

正常使用imp/exp时。先导出源库,再创建新库把表空间创建好,然后再导入。即使用户名表空间都不同,但也能正常导入。
即导出的表的表空间不存在,会默认添加到导入用户名下的默认表空间中。

特殊情况

如果涉及到BOLB字段的表,导入时会出现错误,提示表空间不存在(即导出的表的表空间与导入用户的表空间不一样)。

含有BOLB字段的表用sql导入时会很麻烦,正常情况下没法导入。
一般都是使用dmp文件导入。

错误方法

第一次处理时把原先导出数据的表空间创建一次,正常导入,再在数据库修改表和索引的表空间,这样处理的问题是,修改完后,表数据全部丢失。

正确方法

使用UltraEdit工具,编辑打开dmp文件。切换为文本模式,把以前的表空间替换为现在需要导入的表空间,目前这种方法对于数据量小的表可以使用。数据量大的情况下待测试。

其他方法

还有找到了其他的正统方法,

链接 https://www.cnblogs.com/xd502djj/archive/2010/11/21/1883467.html

oracle 常用函数记录

发表于 2018-10-10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
ROUND() 函数 :用于把数值字段舍入为指定的小数位数。

to_char()函数:转化数字型指定小数点位数的用法/* to_char(0.1,'fm9999990.00') */ 格式化

to_number()

to_date('2012-08-31','yyyy-mm-dd')


TRUNC(number,[num_digits])
TRUNC 函数语法具有下列参数:
Number 必需。需要截尾取整的数字。
Num_digits 可选。用于指定取整精度的数字。
Num_digits 的默认值为 0(零)


trim() 去首尾空字符串

数学计算公式

发表于 2018-09-28

对于以下表:An,Bn,是实数

An Bn
A1 B1
A2 B2
A3 B3

以下公式

1
min(Bn-An) + max (An-Bn)=0

特殊字符记录

发表于 2018-09-22
1
2
3
4
5
6
7
8
9
上标数字及符合
⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾
下标数字及符合
₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎
完整的上标字符
ᵃ ᵇ ᶜ ᵈ ᵉ ᵍ ʰ ⁱ ʲ ᵏ ˡ ᵐ ⁿ ᵒ ᵖ ᵒ⃒ ʳ ˢ ᵗ ᵘ ᵛ ʷ ˣ ʸ ᙆ ᴬ ᴮ ᒼ ᴰ ᴱ ᴳ ᴴ ᴵ ᴶ ᴷ ᴸ ᴹ ᴺ ᴼ ᴾ ᴼ̴ ᴿ ˢ ᵀ ᵁ ᵂ ˣ ᵞ ᙆ ꝰ ˀ ˁ ˤ ꟸ ꭜ ʱ ꭝ ꭞ ʴ ʵ ʶ ꭟ ˠ ꟹ ᴭ ᴯ ᴲ ᴻ ᴽ ᵄ ᵅ ᵆ ᵊ ᵋ ᵌ ᵑ ᵓ ᵚ ᵝ ᵞ ᵟ ᵠ ᵡ ᵎ ᵔ ᵕ ᵙ ᵜ ᶛ ᶜ ᶝ ᶞ ᶟ ᶡ ᶣ ᶤ ᶥ ᶦ ᶧ ᶨ ᶩ ᶪ ᶫ ᶬ ᶭ ᶮ ᶯ ᶰ ᶱ ᶲ ᶳ ᶴ ᶵ ᶶ ᶷ ᶸ ᶹ ᶺ ᶼ ᶽ ᶾ ᶿ ꚜ ꚝ ჼ ᒃ ᕻ ᑦ ᒄ ᕪ ᑋ ᑊ ᔿ ᐢ ᣕ ᐤ ᣖ ᣴ ᣗ ᔆ ᙚ ᐡ ᘁ ᐜ ᕽ ᙆ ᙇ ᒼ ᣳ ᒢ ᒻ ᔿ ᐤ ᣖ ᣵ ᙚ ᐪ ᓑ ᘁ ᐜ ᕽ ᙆ ᙇ ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ˂ ˃ ⁽ ⁾ ˙ * º

完整的下标字符
ₐ ₔ ₑ ₕ ᵢ ⱼ ₖ ₗ ₘ ₙ ₒ ₚ ᵣ ₛ ₜ ᵤ ᵥ ₓ ᙮ ᵤ ᵩ ᵦ ₗ ˪ ៳ ៷ ₒ ᵨ ₛ ៴ ᵤ ᵪ ᵧ

sql遇到的问题

发表于 2018-09-20

1.相同条件取出多条数据,筛选出一个表同井号中最大年份的数据,

1
2
3
4
5
-- 1.先计算出每个井号的最大年份
select JH,MAX(ND) nd from SC_WILD_ZONATION group BY JH ;
-- 2。与自身关联,查询出需要其他的数据
SELECT t1.JID,t1.K1,t1.K2,t1.K3,t1.K4,t1.K5,t1.K6,t1.K7,t1.K8,t1.K9,t1.K10,t1.K11,t1.K12,t1.K13 ,t1.ND FROM SC_WILD_ZONATION t1 inner join (
select JH,MAX(ND) nd from SC_WILD_ZONATION group BY JH) t2 on t1.JH=t2.JH and t2.nd= t1.ND ;

sql server 日期操作问题

1
2
3
4
5
6
-- 上个月最后一天
select DATEADD(ms,-3,DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE()),0));
-- 上个月第一天
select DATEADD(MONTH,DATEDIFF(MONTH,0, DATEADD(ms,-3,DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE()),0)) ),0);
--参考
<http://www.cnblogs.com/lcyuhe/p/5613632.html>

nginx https配置

发表于 2018-09-08

购买阿里云免费ssh证书

购买证书页面
https://common-buy.aliyun.com/?spm=5176.7968328.1120760.1.1b8f12329uxmQj&commodityCode=cas#/buy
购买页面如果选择到免费证书
https://yq.aliyun.com/articles/221596?spm=5176.10695662.1996646101.searchclickresult.1f677d54LcbjNk

ssh证书控制台
https://yundun.console.aliyun.com/?spm=5176.7968328.1120760.1.1b8f12329uxmQj&p=cas#/cas/home

配置域名

  • 在阿里云ssh控制台 查看证书信息,补全信息,里面填写需要加ssh链接的 域名信息–>个人信息–>相关信息。

  • 在证书项目信息里查看 记录值 和 主机记录 ,下一步会有用到。此时证书状态为未审核。

  • 在域名解析列表配置上 ,点击 添加记录,内容填写如下:

|记录类型| TXT|
|主机记录|(上一步查询到的值)|
|解析路线|默认|
|记录值|(上一步查询到的值|
|TTL|10分钟|

  • 过上一两个小时,在证书信息页面查看证书状态是否已经变为 已签发。

    这样配置域名配置就结束了,接下来是对nginx服务添加证书。
    点击列表后面的下载证书。

安装证书 (以下内容取自阿里云的下载证书页面)

文件说明:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
1. 证书文件214983143490997.pem,包含两段内容,请不要删除任何一段内容。
2. 如果是证书系统创建的CSR,还包含:证书私钥文件214983143490997.key。
( 1 ) 在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214983143490997.key;
( 2 ) 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到:
# HTTPS server
# #server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
# location / {
#
#
#}
#}
( 3 ) 将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :
server {
listen 443;
server_name localhost;
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/214983143490997.pem;
ssl_certificate_key cert/214983143490997.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
保存退出。

( 4 )重启 Nginx。
( 5 ) 通过 https 方式访问您的站点,测试站点证书的安装配置。如遇到证书不信任问题,请查看帮助视频。

linux 下svn服务部署

发表于 2018-09-07

准备

服务端系统 Centos7.4
客户端系统 win7或者linux
官网下载:http://subversion.apache.org/packages.html
SVN客户端:TortoiseSVN,官网下载:http://tortoisesvn.net/downloads.html ,windows系统直接点击安装就可以装好客户端了。

安装SVN

服务端安装svn

能连接外网的话用yum 直接安装

1
yum install subversion

1.新建一个目录用于存储SVN所有文件

1
mkdir /usr/svn

2.新建一个资源仓库

1
svnadmin create /usr/svn/blog.wziyou.top

可以查看到

1
ls /usr/svn/blog.wziyou.top

1
conf  db  format  hooks  locks  README.txt
说明
  • hooks目录:放置hook脚本文件的目录
  • locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
  • format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号
  • conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)

3. 配置svn服务的配置文件svnserver.conf文件

1
vim /usr/svn/blog.wziyou.top/conf/svnserve.conf

修改或添加以下信息(注意顶格写,别有空格),保存

1
2
3
4
5
6
[general]
anon-access = none
auth-access = write
password-db = /usr/svn/blog.wziyou.top/conf/passwd
authz-db =/usr/svn/blog.wziyou.top/conf/authz
realm = wz's blog by hexo #这是个提示信息

4.添加三个访问用户及口令

1
vim /usr/svn/blog.wziyou.top/conf/passwd

修改或添加以下信息(注意顶格写,别有空格,等号左边是账号,后边是密码),保存

1
2
3
4
[users]
wziyou = wziyou
test1 = 123456
test2 = 123456

5.配置新用户的授权文件

1
vim /usr/svn/blog.wziyou.top/conf/authz

修改或添加以下信息(注意顶格写,别有空格),保存

1
2
3
4
5
6
7
[groups]
admin = wziyou,test1
user = test2
[/]
@admin = rw
@user = r
*=

代表的意思是 给wziyou,test1俩个用户 admin 角色,admin角色具有rw(读写)权限,user 同理。
*=表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。

6.启动svn服务

默认svn服务器端口是3690。

1
svnserve -d -r /usr/svn/blog.wziyou.top

使用客户端连接

windows 系统

使用TortoiseSVN Repository Browser工具打开

  • 在一个空文件夹下右击,选择 svn checkout
  • 输入svn://你的ip地址/blog.wziyou.top
  • 弹窗内输入 账号密码,ok
  • 即可检出项目

linux 系统

使用如下命令

1
svn co svn://你的ip地址

co 是checkout简称,也可以写成

1
svn checkout svn://你的ip地址

参考地址

感谢https://my.oschina.net/lionel45/blog/298305

js 日期操作扩展

发表于 2018-09-07

内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Date.isLeapYear = function (year) {
return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0));
};

Date.getDaysInMonth = function (year, month) {
return [31, (Date.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
};

Date.prototype.isLeapYear = function () {
return Date.isLeapYear(this.getFullYear());
};

Date.prototype.getDaysInMonth = function () {
return Date.getDaysInMonth(this.getFullYear(), this.getMonth());
};

Date.prototype.addMonths = function (value) {
var n = this.getDate();
this.setDate(1);
this.setMonth(this.getMonth() + value);
this.setDate(Math.min(n, this.getDaysInMonth()));
return this;
};
Date.prototype.addDays = function(days) {
var date = new Date(this.valueOf());
date.setDate(date.getDate() + days);
return date;
}
//时间格式化 年月日时分秒
function dateymdhis(value){
var date = new Date(value);
var y = date.getFullYear();
var m = date.getMonth() + 1; m=(m+'').length==2? m:'0'+m;
var d = date.getDate(); d=(d+'').length==2? d:'0'+d;
var h=date.getHours(); h=(h+'').length==2? h:'0'+h;
var min=date.getMinutes(); min=(min+'').length==2? min:'0'+min;
var s=date.getSeconds(); s=(s+'').length==2? s:'0'+s;
return y + '-' +m + '-' + d + ' '+ h + ':' +min + ':' + s;
}

pagehelper 插件注意事项

发表于 2018-08-31

问题

在用 pagehelper插件 时,遇到了分页数量查询出错的问题。
pagehelper和mybatis的关联结果查询冲突,在GitHub上的重要提示中有写。

解决

后续中找到了一种解决方案。

https://blog.csdn.net/u013887008/article/details/80382764
注:数据量过多时,不推荐使用,还是用一般的分页方式。

1…78910
无恤

无恤

java博客

95 日志
7 分类
29 标签
GitHub
© 2018 - 2021 无恤
本站访客数:人次
本站总访问量次