在要求输入邮箱的文本域,请填写真实的邮件地址。非真实邮件地址,将收不到回复信息。

 分类:代码世界

MySQL存储过程中使用游标

游标 游标的设计是一种数据缓冲区的思想,用来存放SQL语句执行的结果。游标是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。 游标的特性 游标具有以下三个特性: 不敏感(Asensitive)数据库可以选择不复制结果集只读(Read only)不滚动(Nonscrollable)游标只能向一个方向前进,并且不可以跳过任何一行数据 游标的优点 游标是针对行操作的,对从数据库中SELECT查询得到的结果集的每一行可以进行分开的独立的相同或不同的操作,是一种分离的思想。游标是面向集合与面向行的设计思想之间的一种桥梁。 游标的缺点 游标的主要缺点是性能不高。游标的开销与游标中进行的操作相关,如果在游标中进行复杂的操作,开销会非常高。 游标的适用场景 MySQL数据库中,可以在存储过程、函数、触发器、事件中使用游标。 ...

1个月前 (08-28) 46℃ 0评论 40喜欢

Mysql脚本实现行转列

背景 某项目数据统计,为了更加直观显示一些数据,刚好有这个行转列的一个需求。行转列的需求其实在平常业务中也是比较常见的,在数据统计中使用的比较频繁。行转列以前也遇到过,之前数据库使用的是Microsoft SQL Server。目前使用的是MySQL数据库,这里也做一下简单的记录。 实现 结构与数据准备 为了更好的理解行转列,这里准备一张结构简单都表以及数据。 DROP TABLE IF EXISTS `project_completion_rate`; CREATE TABLE `project_completion_rate` ( `id` int(8) NOT NULL, `project_user` varchar(20) DEFAULT NULL, `project_content` varchar(20) DEFAULT NULL...

2个月前 (08-09) 48℃ 0评论 7喜欢

.Net访问Windows共享目录

背景 无意见又翻到了曾经的一些项目,看到了关于.Net访问Windows共享目录的一些代码。曾经在内网通过共享目录作为服务器文件的存储方式,个人觉得部分的实现代码可以记录下来作为备份。所以,整理了以下代码。 代码实现 公用内容 /// <summary> /// IdentityScope 的摘要说明 /// </summary> public class IdentityScope : IDisposable { // obtains user token [DllImport("advapi32.dll", SetLastError = true)] static extern bool LogonUser(string pszUse...

3个月前 (06-29) 57℃ 0评论 11喜欢

System.Data.OracleClient需要Oracle 客户端软件version 8.1.7或更高版本

背景 因业务需求需要进行数据同步,客户又没有提供相关的接口。经过协商,客户提供相关视图直连他们数据库。 数据库:Oracle 11g 问题 使用.net访问Oracle数据出现以下错误: System.Data.OracleClient 需要Oracle 客户端软件 version 8.1.7 或 更高版本 解决 找到Oracle安装文件夹找到oci.dll、oraociei11.dll两个dll文件将以上两个文件放到system32目录下或者程序的bin目录下 下载 Oracle_11g提取码:hrbc 以上下载地址中的文件就是本文中提到的两个DLL文件 转载请注明:清风博客 » System.Data.OracleClient需要Oracle 客户端软件version 8.1.7或更高版本...

4个月前 (06-23) 77℃ 0评论 7喜欢

.NET读取Pem证书私钥解密

背景 因业务需求的需要,要与第三方进行相关的数据对接,按照第三方规定需要对其数据通过私钥进行RSA解密。第三方提供了相关的Pem证书文件,但是这种格式的证书文件.NET并不能直接使用,需要进行相关的转换。 pem在转XML时需要依赖一个第三方库BouncyCastle。 下载 BouncyCastle 如果通过官网下载比较慢,可以使用本博以上链接下载。 代码实现 using System; using System.Text; using System.Security.Cryptography; using System.IO; using Org.BouncyCastle.Crypto.Parameters; using Org.BouncyCastle.Security; namespace CommonTool.Share....

4个月前 (06-14) 51℃ 0评论 10喜欢

Microsoft SQL Server跨服务器查询

创建链接服务器 sp_addlinkedserver 创建链接服务器。 链接服务器让用户可以对 OLE DB 数据源进行分布式异类查询。 使用 sp_addlinkedserver 创建链接服务器后,可对该服务器运行分布式查询。 如果链接服务器定义为 SQL Server实例,则可执行远程存储过程。 语法 sp_addlinkedserver [ @server= ] 'server' [ , [ @srvproduct= ] 'product_name' ] [ , [ @provider= ] 'provider_name' ] [ , [ @datasrc= ] 'data_source' ] [ , [ @location= ] '...

5个月前 (05-23) 62℃ 0评论 5喜欢

docker查看日志

在工作当中有时候需要查看指定容器的日志记录,当日志比较多的时可以通过参数来进一步筛选。 命令格式 Usage: docker logs [OPTIONS] CONTAINER Fetch the logs of a container Options: --details 显示更多的信息 -f, --follow 跟踪实时日志 --since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟) --tail string 从日志末尾显示多少行日志, 默认是all -t, --timestamps 显示时间戳 --until string 显示自某个timestamp之前的日志,或相对时间,如42m(...

5个月前 (05-19) 141℃ 0评论 4喜欢

网站被恶意镜像的简单快速处理方法

背景 站点网上飘,哪有不挨刀。总是遇到千奇百怪的问题,让人猝不及防。在5月1日的前一天,发现博客被人镜像了,这是一个非常糟心的问题,我非常肯定的是这次的镜像不怀好意。为什么我会这么说呢?因为镜像站点域名太不像话了,太长了,有没有特殊的含义,所以我认为这种镜像网站是非常有恶意的。如下图: 镜像站点域名 JavaScript简单紧急处理 这种恶意的镜像站点无法绝对的杜绝,只能尽可能的减小影响。此次处理非常简单,直接使用Javascript对当前域名进行判断,与指定域名不符就跳转回指定的域名。 版本一 var local=window.location.host; if(local.indexOf("skyfinder.cc")==-1){ location.href = location.href.replace(local,"skyfinder....

5个月前 (05-02) 140℃ 0评论 14喜欢

Linux快速回收连接TIME-WAIT的连接

发现Centos系统中出现了很多 TIME-WAIT的空闲连接,连接资源感觉即将耗尽,并且这些TIME-WAIT释放缓慢。 配置修改 vi /etc/sysctl.conf 编辑文件,加入以下内容: # 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭 net.ipv4.tcp_syncookies = 1 # 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭 net.ipv4.tcp_tw_reuse = 1 # 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。 net.ipv4.tcp_tw_recycle = 1 # 修改系統默认的TIMEOUT时间 net.ipv4.tcp_f...

6个月前 (04-21) 98℃ 0评论 26喜欢

Docker容器在Centos使用脚本查看日志与清理

背景 jenkins突然无法自动构建镜像,经过确认并非是无法构建,而是磁盘空间满了。 关于手动清理Docker日志的方法,自己曾经也处理过,但是容器多起来就相当麻烦。 在linux上,容器日志一般存放在/var/lib/docker/containers/container_id/下面, 以json.log结尾的文件. 查看 #!/bin/sh echo "======== docker containers logs file size ========" logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $logs do ls -lh $log done 清理 #!/bin/sh echo "======== start clean docker ...

6个月前 (04-10) 122℃ 0评论 25喜欢

删除Docker中为none的Image/镜像

docker build 或是 pull 命令就会产生临时镜像。 //删除无效的临时镜像 docker rmi $(docker images -f "dangling=true" -q) 其他方法 停止容器 docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }') 删除容器 docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }') 删除镜像 docker rmi $(docker images | grep "none" | awk '{print $3}') 转载请注明:清风博客 » 删除Docker中为none的Image/镜像...

6个月前 (04-08) 127℃ 0评论 3喜欢

移除.net解决方案中TFS的绑定控制

TFS与解决方案绑定信息清理 tfs与解决方案之间有相关信息需要清理,以下是相关的清理步骤。 删除关联文件以及文件夹 删除项目目录下所有的*.vssscc、*.vspscc为后缀的文件,删除隐藏文件夹$tf 修改项目的解决方案文件 在目录中找到以*.sln为后缀名的解决方案文件,打开文件进行编辑。删除TeamFoundationVersionControl所在的整块内容并保存。 GlobalSection(TeamFoundationVersionControl) = preSolutionSccNumberOfProjects = 2SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}SccTeamFoundationServer = http:///tfs/defaultcol...

7个月前 (03-26) 299℃ 0评论 19喜欢

博客园整改

博客园是国内最出名的IT从业者的技术交流社区。 博客园是一个面向开发者的知识分享社区。自创建以来,博客园一直致力并专注于为开发者打造一个纯净的技术交流社区,推动并帮助开发者通过互联网分享知识,从而让更多开发者从中受益。博客园的使命是帮助开发者用代码改变世界。 不知为何,浏览博客园任何帖子都会跳转到整改公告,具体整改原因不详!也不晓得哪里违规了!不管怎么样,希望尽快完成整改,合规合法运营! 为了遵守相关法律法规,合法合规运营,网站进行全面整改,整改工作于2021年3月18日12:00开始,预计于3月25日11:59结束,整改期间全站无法发布任何内容,之前发布的内容重新审核后才能访问,由此给您带来很大的麻烦,请您谅解。 转载请注明:清风博客 » 博客园整改...

7个月前 (03-21) 153℃ 0评论 13喜欢

关于HOST文件中出现不明网址记录

因局域网源代码管理服务器地址做了变更,所以就重新更改下HOST文件中的IP地址。意外发现HOST文件中多了一条记录,而我对这条记录竟然没有一点印象。好奇怪!!!!哪来的呢?172.17.187.161 windows10.microdone.cn,其中IP172.17.187.161又是本地局域网。然后就通过浏览器尝试访问域名windows10.microdone.cn,结果根本无法连接,最后尝试了顶级域microdone.cn,这下就出现了内容。如下图所示: 我仔细回忆一下,自己最近几天究竟做了什么,好像也没有做什么呀!于是,我就在控制面板中打开程序和功能查看一下。最近几个月的程序安装记录,由安装时间来看,也没有太多内容。如下图所示: 我结合之前打开域名microdone.cn来看,这条HOST记录必然和中国邮政储蓄银行网上银行安全控件有关。看到了...

7个月前 (03-15) 84℃ 0评论 5喜欢

可以在线浏览PDF的一个WEB标准插件PDF.js

背景 因有一个需求,需要在线浏览PDF文件。所以,需要找一个满足需求的解决方案。经过一些列资料搜寻,最终确定使用PDF.js插件。目前来说此插件完美满足需求。 PDF.js 一个通用的、基于web标准的、用于解析和呈现pdf的平台。 PDF.js项目在线预览效果 转载请注明:清风博客 » 可以在线浏览PDF的一个WEB标准插件PDF.js...

7个月前 (03-01) 84℃ 0评论 24喜欢

Visual Studio(VS) Code提示php.executablePath配置问题

Visual Studio Code 安装php插件后提示: PHP executable not found. Install PHP 7 and add it to your PATH or set the php.executablePath setting 打开VS Code设置查找到php.validate.executablePath进行修改,其值是php安装目录。 { "editor.suggestSelection": "first", "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue", "java.semanticHighlighting.enabled": true, "php...

9个月前 (01-07) 200℃ 0评论 12喜欢

ASP.NET Core Web Api实现大文件切/分片上传

一年前的一个项目,有人反馈上传超时,超时原因是文件大小超出限制。由于原来维护项目的人员离开,现在上传超时的问题就有我来处理。解决方案也比较简单,就是切片上传。前端不想自己写了,就利用了上传组件,这个上传组件是百度的WebUploader。WebUploader这个组件被使用的也比较广泛,为了省事就用它啦! 上传中 合并后 代码实现 前端代码 前端上传以及分片使用的百度上传组件WebUploader <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> ...

9个月前 (12-31) 165℃ 0评论 7喜欢

.NET操作达梦数据库编译错误处理

由于客户突然要进行国产化的一个要求,数据库使用更换了国产的达梦数据库,将数据由Oracle数据库迁移到达梦数据库。所以,之前基于Oracle处理的一些功能就需要进行一些调整。 使用NuGet 引入达梦数据提供器DmProvider  引用相关的组件后,就按照套路对已经存在的方法进行相关调整,结果出现了一些编译出错且无论如何调整都无法消除。如下: 错误 CS1705 标识为“Dm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”的程序集“Dm”所使用的“System.Runtime, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”版本高于所引用的标识为“System.Runtime, Version=4.1.2.0, ...

10个月前 (12-07) 138℃ 0评论 2喜欢

Linux无法访问外网问题

一台Linux局域网服务器,突然发现不能访问外网,也许本来就不行,因为没有用到外网,所以只是没有注意到吧!经过测试外网无法访问,内网畅行无阻。如下: [root@offline-200 services]# wget baidu.com–2020-11-03 17:56:58– http://baidu.com/正在解析主机 baidu.com (baidu.com)… 失败:未知的名称或服务。wget: 无法解析主机地址 “baidu.com” [root@offline-200 services]# ping 192.168.2.3PING 192.168.2.3 (192.168.2.3) 56(84) bytes of data.64 bytes from 192.168.2.3: icmp_seq=1 ttl=128 time=0.3...

11个月前 (11-16) 167℃ 0评论 1喜欢

.NET 使用MySql 8.0报caching_sha2_password错误的问题处理

背景 接手别人项目进行维护,使用Mysql 8.0 数据库正确还原,但是项目却无法启动,经过调试发现以下问题。 MySqlException Authentication method ‘caching_sha2_password’ not supported by any of the available plugins。 通常的报这个错误是因为它的身份验证方式是 mysql_native_password ,不是caching_sha2_password导致。 Mysql 官方相关资料:https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html 解决方法 首先找到MySql 8.0 的安装目录,看一下是否存在my...

1年前 (2020-10-05) 409℃ 0评论 5喜欢

NET CORE将对象属性按照指定顺序输出

背景 因业务需求,需要与第三方进行融合登录。第三方融合登录接口有关于验签的要求,将解密的数据按照规定的顺序进行MD5进行签名验证并与提供的MD5签名作为对比。其加密的明文是Json字符串,解密后还原后要按照URl参数的形式进行排列进行MD5签名。 规定 加密参数(注:加密参数名称均为小写字母,没有使用驼峰法命名) 名称类型默认值简介sourceidString必传来源标识targetidString必传目标标识usercodeString必传用户唯一标识usernameString用户姓名idcardString身份证号码phoneString手机号码ounameString部门名称timeString必传当前时间戳,精确到毫秒 签名数据采用以上面表格顺序以及以下格式进行字段拼接 sourceid=skyfinder&targetid=sky&...

1年前 (2020-09-08) 200℃ 0评论 6喜欢

推送Docker镜像被拒绝问题处理

构建了自己常用的基础镜像,就打算推送到Docker Hub上。首先使用docker login 进行登录,然后就使用docker push 执行镜像推送,最后返回错误信息如下: denied: requested access to the resource is denied 如下图: 在网上找了下相关信息,大部分都是说认证、登录等信息,按照相关信息试一试也没有什么用。最后发现是镜像名称不符合Docker规范,从而导致了镜像推送被拒绝。 推送的镜像命名规范如下: 登录名/镜像名称:标签 例如: skyfinder/microsoft-dotnet-2.1-aspnetcore-runtime-libgdiplus:latest 如果现有的镜像名称不符合规范,可以使用tag打一个标签,如下: docker tag skyfin...

1年前 (2020-09-03) 187℃ 0评论 0喜欢

.NET CORE实现MD5加密

背景 因某些需求,需要与合作单位进行相应的数据交互,而交互均使用了加密方式处理并用MD5作为签名,以便校验传输内容是否遭到篡改。 MD5 md5是一种信息摘要算法,它可以从一个字符串或一个文件中按照一定的规则生成一个特殊的字符串,并且一个文件所对应的MD5摘要是固定的,当文件内容变化后,其MD5值也会不一样,因此,在应用中经常使用MD5值来验证一段数据有没有被篡改。 .NET CORE 实现MD5 以下简单实现,支持返回大小写、32位以及16位MD5字符串。 public static class EncryptionMd5 { /// <summary> /// md5加密 /// </summary> /// <param name="conten...

1年前 (2020-09-02) 462℃ 0评论 1喜欢

.Net Core实现AES加解密

背景 因业务需求,需要与其他平台实现融合登录,根据提供融合登录方的文档内容,对AES加密解密相关内容使用.NET CORE来进行一次实现。以下记录实现AES加解密后的内容,便以后备用。 AES 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。严格地说,AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的区块和密钥长度:AES的区块长度固定为128 比特,密钥长度则可以是128、192或256比特;而Rijndael使用的密钥和区块长度可以是32位的整数倍,以128位为下限,256比特为上限。包括AES-ECB、AES-C...

1年前 (2020-09-02) 339℃ 0评论 1喜欢

Java实现AES加解密

因业务需求,需要进行融合登录,根据提供融合登录方的文档内容,对AES加密解密相关内容使用.NET CORE来进行一次实现。使用.NET CORE完成后,根据文档提到的密文进行解密,很遗憾解密无法完成。最终根据提供的Java文件进行相关确认,发现文档中所表述内容与Java示例文件中出现诸多不一致的地方。最后经过咨询并确认了以Java示例文件中的内容为准,所以此处记录一下这个AES加密解密的方法。 import java.security.Key; import java.util.Arrays; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; /** * AES加密工具类 * */ public...

1年前 (2020-09-01) 144℃ 0评论 1喜欢