<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>贾忠智博客</title><link>https://www.jiazhongzhi.com/</link><description>Recent content on 贾忠智博客</description><generator>Hugo</generator><language>zh-cn</language><copyright>2015-2026 贾忠智博客</copyright><lastBuildDate>Mon, 24 Aug 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://www.jiazhongzhi.com/index.xml" rel="self" type="application/rss+xml"/><item><title>达梦 DM8 日常运维：disql 常用命令与备份恢复速查</title><link>https://www.jiazhongzhi.com/posts/2026-08-24-dm8-ops/</link><pubDate>Mon, 24 Aug 2026 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/posts/2026-08-24-dm8-ops/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文为&lt;strong&gt;整理型&lt;/strong&gt;内容：依据达梦官方文档及社区公开资料整理，命令与参数均已注明出处，具体以官方最新文档为准。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;结论先给：达梦 DM8 日常运维就是四块——服务启停、disql 管理 SQL、备份恢复（逻辑备份 dexp/dimp + 物理备份联机/dmrman）、性能排查视图。本文按场景给可直接复制的命令，工具都在 $DM_HOME/bin 目录下。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="环境信息"&gt;环境信息&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;项目&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;数据库&lt;/td&gt;
&lt;td&gt;达梦 DM8（Linux 版）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;安装目录&lt;/td&gt;
&lt;td&gt;/opt/dmdbms（官方安装包默认，下称 $DM_HOME）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;数据目录&lt;/td&gt;
&lt;td&gt;/dmdata/data/DAMENG（dminit 初始化时指定）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;服务名&lt;/td&gt;
&lt;td&gt;DmServiceDMSERVER（默认实例名 DMSERVER）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;默认端口&lt;/td&gt;
&lt;td&gt;5236&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;运行用户&lt;/td&gt;
&lt;td&gt;dmdba（官方安装流程建议的数据库用户）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="一服务启停"&gt;一、服务启停&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;来源：达梦官方文档《启动、停止数据库》&lt;/strong&gt;。服务注册成功后，用服务脚本管理（以默认实例 DMSERVER 为例）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd $DM_HOME/bin
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./DmServiceDMSERVER start &lt;span style="color:#75715e"&gt;# 启动&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./DmServiceDMSERVER stop &lt;span style="color:#75715e"&gt;# 停止&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./DmServiceDMSERVER restart &lt;span style="color:#75715e"&gt;# 重启&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./DmServiceDMSERVER status &lt;span style="color:#75715e"&gt;# 查看状态&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;排错时需要看前台日志时，可用前台方式启动：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./dmserver /dmdata/data/DAMENG/dm.ini &lt;span style="color:#75715e"&gt;# 输出 SYSTEM IS READY 表示启动成功&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;注意：前台方式启动的会话一旦关闭，数据库也会跟着关闭，生产环境应使用服务方式。&lt;/p&gt;
&lt;h2 id="二disql-登录与常用管理-sql"&gt;二、disql 登录与常用管理 SQL&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;来源：达梦官方文档、达梦社区《命令行工具和图形化工具的基本操作》《disql 和 dmfdr 的使用》&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>东方通 TongWeb 7 部署 WAR 包常见问题</title><link>https://www.jiazhongzhi.com/posts/2026-08-17-tongweb-war/</link><pubDate>Mon, 17 Aug 2026 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/posts/2026-08-17-tongweb-war/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文为&lt;strong&gt;整理型&lt;/strong&gt;内容：依据东方通官方信息及社区公开资料整理，均已注明出处，具体以官方最新文档为准。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;结论先给：TongWeb 7 部署 WAR 包，问题大多集中在四类——JDK 版本不匹配、类找不到、类加载冲突、前端静态项目 404。另外它和 Tomcat 的类加载机制不同，很多&amp;quot;Tomcat 上正常、TongWeb 上报错&amp;quot;的问题都源于此。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="一环境说明"&gt;一、环境说明&lt;/h2&gt;
&lt;h3 id="11-tongweb-7-定位"&gt;1.1 TongWeb 7 定位&lt;/h3&gt;
&lt;p&gt;东方通应用服务器软件 TongWeb V7.0 是遵循 Java EE 7 规范的企业级应用服务器，提供负载均衡、集群、Web Service、数据库连接池、事务处理与安全管理能力。TongWeb 8 起逐步适配 Jakarta EE 规范，两者命名空间不同（javax vs jakarta），部署包不能混用。&lt;/p&gt;
&lt;h3 id="12-jdk-兼容性"&gt;1.2 JDK 兼容性&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;基础要求&lt;/strong&gt;：TongWeb 7 要求 JDK 7u40 及以上（官方），生产环境推荐 JDK 8 LTS，兼容性最广泛。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JDK 11&lt;/strong&gt;：需使用 TongWeb 免安装版；安装版（如 7.0.4.2）对 JDK 8 有强依赖，预装 JDK 11 存在二进制兼容问题（社区实践总结）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTTPS 特殊要求&lt;/strong&gt;：SSL 协议用 TLS 1.3 时，JDK 要求 1.8.0_261 及以上；启用国密认证时，JDK 要求 8-11。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TongWeb 7.0.4+ 与框架版本&lt;/strong&gt;：7.0.4 支持更新的 JDK 版本，但不支持 Spring Boot 3.x / Spring Framework 6.x（需要 Jakarta EE 9+，对应 TongWeb 8.0）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="二问题清单"&gt;二、问题清单&lt;/h2&gt;
&lt;h3 id="问题-1部署后访问-404"&gt;问题 1：部署后访问 404&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;现象&lt;/strong&gt;：WAR 包部署成功，访问页面返回 404。&lt;/p&gt;</description></item><item><title>关于我</title><link>https://www.jiazhongzhi.com/about/</link><pubDate>Mon, 17 Aug 2026 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/about/</guid><description>&lt;p&gt;大家好，我是贾忠智，这个博客从 2015 年建站至今已经十年了。&lt;/p&gt;
&lt;p&gt;简单介绍下自己：早些年做 .NET 开发，后来转到 Java，前端、数据库、服务器运维都接触过，最近几年主要做信创（国产化）方向的开发和实施，涉及 GIS 开发（Cesium、SuperMap 等）。要说精，每个方向都不算精通；要说全，从操作系统到数据库到中间件到应用，整条链路都摸过。这种&amp;quot;杂&amp;quot;在信创实施这个行当里反而挺有用——因为信创项目最大的特点就是环境碎、版本杂、坑多。&lt;/p&gt;
&lt;p&gt;这个站 2019 年后就停更了。2026 年重启，是因为我觉得有一类内容 AI 暂时还替代不了，也不屑于做：&lt;strong&gt;真实环境里的具体报错、具体的版本组合、具体的坑&lt;/strong&gt;。搜&amp;quot;银河麒麟 安装达梦 报错&amp;quot;的人，都是正在干活的人，他们要的是能直接解决问题的答案，不是泛泛而谈。&lt;/p&gt;
&lt;p&gt;本站的内容以&amp;quot;整理型&amp;quot;起步（基于官方文档和社区资料，标注来源），后续逐步补充实测验证。所有内容都明确标注&amp;quot;整理&amp;quot;或&amp;quot;实测&amp;quot;，不会拿听说当经验。&lt;/p&gt;
&lt;p&gt;如果你也是信创实施、运维、GIS 开发这条线上的，欢迎看看我整理的这些内容有没有帮到你，也欢迎直接联系交流。&lt;/p&gt;
&lt;p&gt;联系我：直接发邮件 &lt;a href="mailto:734312409@qq.com"&gt;734312409@qq.com&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>一个十年老站的重启：我为什么在 AI 时代继续写技术博客</title><link>https://www.jiazhongzhi.com/posts/2026-08-17-relaunch/</link><pubDate>Mon, 17 Aug 2026 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/posts/2026-08-17-relaunch/</guid><description>&lt;p&gt;这个站 2015 年建的，ASP.NET 写的，陆陆续续更了几年，2019 年之后就基本停了。中间换过工作、换过技术栈，站就一直挂在服务器上吃灰，每年续费域名的时候看一眼，偶尔有搜索引擎的爬虫还来光顾一下。&lt;/p&gt;
&lt;p&gt;为什么今年又想起来重启？&lt;/p&gt;
&lt;p&gt;说实话，2025 年之前我挺悲观的。技术博客这东西，十年前是&amp;quot;技术积累&amp;quot;的象征，现在呢？你写个&amp;quot;Linux 命令大全&amp;quot;，读者直接问 AI 三秒钟出答案，还比你全。我这种什么都会一点、什么都不精的人，写什么都像在给 AI 当陪练。&lt;/p&gt;
&lt;p&gt;真正让我改变想法的，是这两年做信创（国产化）项目的经历。&lt;/p&gt;
&lt;p&gt;信创环境有个特点：&lt;strong&gt;版本碎、组合多、坑深&lt;/strong&gt;。银河麒麟有 V10 的 x86、ARM、MIPS 各种架构版本，统信 UOS 有专业版、家庭版、服务器版，数据库有达梦、人大金仓、GBase、OceanBase，中间件有东方通、宝兰德……这些软件排列组合出来的环境，AI 大概率是答不好的——不是 AI 笨，是它的训练数据里就没有你那个&amp;quot;麒麟 V10 SP3 + 飞腾 2000 + 达梦 DM8 + 东方通&amp;quot;的排列组合。而且信创软件的文档普遍难找、碎片化严重，官方社区活跃度也不高。&lt;/p&gt;
&lt;p&gt;搜&amp;quot;银河麒麟 安装达梦 报错&amp;quot;的人，都是正在干活的人。他们要的不是&amp;quot;深入浅出&amp;quot;，是一个能直接落地的答案。&lt;/p&gt;
&lt;p&gt;所以这个站重启后的定位就一句话：&lt;strong&gt;信创方向的运维和开发实战笔记&lt;/strong&gt;。以整理型内容起步——把官方文档、社区里散落的信息，加上我自己项目里见到的案例，整理成结构化的、可直接照做的文章，每条都标注来源。后面我会搭一套免费的实验环境（虚拟机跑麒麟/统信，Docker 跑达梦/金仓），把&amp;quot;整理&amp;quot;升级成&amp;quot;整理+实测&amp;quot;。&lt;/p&gt;
&lt;p&gt;几个说明：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;这个站永远不放广告，只靠内容本身说话。&lt;/li&gt;
&lt;li&gt;旧站那几十篇文章我不会删，都归档在&amp;quot;历史积累&amp;quot;里，虽然过时了，但那是我走过的路。&lt;/li&gt;
&lt;li&gt;争取每周更新一篇，不追热点，不凑数；忙的时候会断更，但不会为了更新而凑数。&lt;/li&gt;
&lt;li&gt;所有内容分两种：标注&amp;quot;整理&amp;quot;的，是资料汇编；标注&amp;quot;实测&amp;quot;的，是我自己跑过的。我不装自己没踩过的坑。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你也是信创实施、运维、GIS 开发这条线上的，欢迎邮件交流（联系方式见「关于我」页）。这个方向还远没到饱和的时候，我们这些&amp;quot;什么都懂一点&amp;quot;的人，把各自的坑都记下来，可能比 AI 的回答更管用。&lt;/p&gt;</description></item><item><title>银河麒麟 V10 安装达梦 DM8：常见问题整理</title><link>https://www.jiazhongzhi.com/posts/2026-08-17-kylin-dm8/</link><pubDate>Mon, 17 Aug 2026 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/posts/2026-08-17-kylin-dm8/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文为&lt;strong&gt;整理型&lt;/strong&gt;内容：依据达梦官方文档及社区公开资料整理，命令与参数均已注明出处，具体以官方最新文档为准。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;结论先给：银河麒麟 V10 上装达梦 DM8，常见安装问题大多集中在四类——32 位依赖库缺失、图形界面装不上、内存参数没调、目录权限不对。先把这四类排掉，安装基本能顺。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="环境信息"&gt;环境信息&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;项目&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;操作系统&lt;/td&gt;
&lt;td&gt;银河麒麟 V10（SP1/SP2/SP3，x86_64 或 ARM64）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;数据库&lt;/td&gt;
&lt;td&gt;达梦 DM8（试用版/正式版安装包）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;常见架构&lt;/td&gt;
&lt;td&gt;飞腾 FT-2000/腾锐、鲲鹏 920、兆芯、海光、Intel&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="问题一提示缺少-libncursesso5--libtinfoso5"&gt;问题一：提示缺少 libncurses.so.5 / libtinfo.so.5&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;现象&lt;/strong&gt;：运行 DMInstall.bin 或 ./check 时报错：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;error while loading shared libraries: libncurses.so.5: cannot open shared object file
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;原因&lt;/strong&gt;：DM8 安装程序依赖 32 位兼容库（x86_64 环境下也需要 ncurses/tinfo 的 32 位版本）。麒麟 V10 精简安装默认不带。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决&lt;/strong&gt;：先分清麒麟体系——服务器版是 rpm 体系（yum），桌面版是 deb 体系（apt），命令别混用。先用 ldd 确认到底缺哪个库：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ldd DMInstall.bin | grep &lt;span style="color:#e6db74"&gt;&amp;#34;not found&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;rpm 体系（服务器版，最常见场景）：&lt;/p&gt;</description></item><item><title>Win10 运行PS CS6提示配置错误代码16怎么解决</title><link>https://www.jiazhongzhi.com/history/old-100031/</link><pubDate>Tue, 05 Mar 2019 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100031/</guid><description>&lt;p&gt;在Windows10系统运行PS CS6的时候，提示配置错误代码16，无法正常运行PS，这一般是由于权限的原因，那我们如何解决这个问题呢？&lt;/p&gt;
&lt;p&gt;首先找到安装文件所在位置。&lt;/p&gt;
&lt;p&gt;依次点击Windows10系统的“开始/ Adobe Photoshop CS6”菜单项，在打开的菜单中右键点击Adobe Photoshop CS6菜单项，在弹出菜单中依次点击“更多/打开文件位置”菜单项&lt;/p&gt;
&lt;p&gt;用鼠标右击PS运行文件，然后在弹出菜单中点击“属性”菜单项&lt;/p&gt;
&lt;p&gt;在打开的PS属性窗口中，点击“兼容性”标签&lt;/p&gt;
&lt;p&gt;在打开的兼容性窗口，选中“以兼容模式运行这个软件”前的复选框。在下面的下拉菜单中选择“Windows 7”菜单项。&lt;/p&gt;
&lt;p&gt;接着再在下面找到“以管理员身份运行此程序”一项，勾选该项前面的复选框，最后点击确定按钮即可。&lt;/p&gt;</description></item><item><title>关于.Net Core 部署在Linux下连接SqlServer数据库超时解决办法</title><link>https://www.jiazhongzhi.com/history/old-100030/</link><pubDate>Thu, 24 Jan 2019 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100030/</guid><description>&lt;p&gt;最近在做.net core项目的时候，测试sqlserver数据库连接，在windows下一切正常，部署到linux服务器后连接超时，telnet端口也通，一直无法解决，最后发现是sqlserver数据库版本的问题，2008以下的数据需要打补丁后才可以。&lt;/p&gt;
&lt;p&gt;.Net Core 在 Linux 下连接 SqlServer 需要 SqlServer2008 SP3或以上版本，或SqlServer2012，或SqlServer2014.&lt;/p&gt;
&lt;p&gt;如果SqlServer2008低于SP3版本，会出现连接超时的问题。&lt;/p&gt;
&lt;p&gt;解决办法：&lt;/p&gt;
&lt;p&gt;官方下载SqlServer 2008 Sp3 补丁&lt;/p&gt;
&lt;p&gt;&lt;a href="https://download.microsoft.com/download/9/6/4/964BB4EC-FC28-4DA7-9295-7D4A8FDBE1A4/CHS/SQLServer2008R2SP3-KB2979597-x64-CHS.exe"&gt;https://download.microsoft.com/download/9/6/4/964BB4EC-FC28-4DA7-9295-7D4A8FDBE1A4/CHS/SQLServer2008R2SP3-KB2979597-x64-CHS.exe&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;下载补丁安装即可。&lt;/p&gt;</description></item><item><title>Windows8服务器升级后出现身份验证错误，要求的函数不受支持解决办法</title><link>https://www.jiazhongzhi.com/history/old-100029/</link><pubDate>Mon, 03 Sep 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100029/</guid><description>&lt;p&gt;windows8 电脑升级后远程连接windows2012服务器 出现身份验证错误，要求的函数不受支持，是由于系统打补丁造成的，需要在电脑上配置组策略。&lt;/p&gt;
&lt;p&gt;&lt;img alt="C:\\Users\\BJNP\\Desktop\\QQ截图20180903093210.jpg" loading="lazy" src="https://www.jiazhongzhi.com/userfiles/upload/image/20180903/6367156426390647738361540.jpg"&gt;&lt;/p&gt;
&lt;p&gt;配置组策略如下图：&lt;/p&gt;
&lt;p&gt;&lt;img alt="C:\\Users\\BJNP\\Desktop\\QQ图片20180903093404.png" loading="lazy" src="https://www.jiazhongzhi.com/userfiles/upload/image/20180903/6367156455566527284630272.png"&gt;&lt;/p&gt;
&lt;p&gt;配置：加密Oracle修正启用的同时需要将保护级别修改为易受攻击。&lt;/p&gt;
&lt;p&gt;&lt;img alt="C:\\Users\\BJNP\\Desktop\\QQ图片20180903094506.png" loading="lazy" src="https://www.jiazhongzhi.com/userfiles/upload/image/20180903/6367156511866135588697268.png"&gt;&lt;/p&gt;
&lt;p&gt;然后在远程则回复正常了。&lt;/p&gt;</description></item><item><title>windows常用命令备忘</title><link>https://www.jiazhongzhi.com/history/old-100028/</link><pubDate>Mon, 03 Sep 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100028/</guid><description>&lt;p&gt;windows常用命令备忘&lt;/p&gt;
&lt;p&gt;打开运行命令：windows + R&lt;/p&gt;
&lt;p&gt;打开组策略命令：windows +R 然后输入 gpedit.msc&lt;/p&gt;
&lt;p&gt;打开注册表 ：windows +R 然后输入 regedit&lt;/p&gt;</description></item><item><title>IIS7 HTTPS 绑定主机头</title><link>https://www.jiazhongzhi.com/history/old-100027/</link><pubDate>Wed, 30 May 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100027/</guid><description>&lt;p&gt;IIS7中站点配置HTTPS证书的时候，修改主机头的地方是灰色的，不能修改。因此一个服务器就无法绑定多个HTTPS证书站点。&lt;/p&gt;
&lt;p&gt;解决这个问题的话，可以人为进行修改配置文件。
打开C:\Windows\system32\inetsrv\config\applicationHost.config&lt;/p&gt;
&lt;p&gt;定位到如下位置：&lt;/p&gt;
&lt;p&gt;                &lt;!-- raw HTML omitted --&gt;
                    &lt;!-- raw HTML omitted --&gt;
                    &lt;!-- raw HTML omitted --&gt;
                    &lt;!-- raw HTML omitted --&gt;
                    &lt;!-- raw HTML omitted --&gt;
                    &lt;!-- raw HTML omitted --&gt;
                    &lt;!-- raw HTML omitted --&gt;
                &lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;找到https的配置项目中的443部分。&lt;/p&gt;
&lt;p&gt;修改为：&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;注意这里的www.baidu.com要换成你自己的域名，之后保存即可。&lt;/p&gt;
&lt;p&gt;每一个站点都有一个bindings节点，找到对应的443端口进行修改即可。&lt;/p&gt;</description></item><item><title>c# illegal character in path</title><link>https://www.jiazhongzhi.com/history/old-100026/</link><pubDate>Tue, 15 May 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100026/</guid><description>&lt;p&gt;c# 中复制图片的时候提示错误： illegal character in path&lt;/p&gt;
&lt;p&gt;请检查路径中是否存在括号，路径中存在括号会报这个异常错误。&lt;/p&gt;
&lt;p&gt;&lt;img alt="C:\\Users\\BJNP\\Desktop\\QQ图片20180515171336.png" loading="lazy" src="https://www.jiazhongzhi.com/userfiles/upload/image/20180515/6366200148726194404185271.png"&gt;&lt;/p&gt;</description></item><item><title>APS.NET关闭不安全的HTTP方法</title><link>https://www.jiazhongzhi.com/history/old-100025/</link><pubDate>Tue, 27 Mar 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100025/</guid><description>&lt;p&gt;打开web.config&lt;/p&gt;
&lt;p&gt;    在&lt;!-- raw HTML omitted --&gt;的&amp;lt;system.webServer&amp;gt;节点内添加如下代码：&lt;/p&gt;
&lt;p&gt;    &lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;      &lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;        &lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;          &lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;          &lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;          &lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;        &lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;      &lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;    &lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;以上代码只允许开启GET、POST和HEAD方法。&lt;/p&gt;
&lt;p&gt;说明：allowUnlisted=&amp;ldquo;false&amp;rdquo;：拒绝未列出的谓词。&lt;/p&gt;</description></item><item><title>SQL2008打开后报错：值不能为空。 参数名: viewInfo (Microsoft.SqlServer.Management.SqlStudio.Explorer)</title><link>https://www.jiazhongzhi.com/history/old-100024/</link><pubDate>Tue, 27 Mar 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100024/</guid><description>&lt;p&gt;打开MSSQL 2008 R2的时候，展开数据库都显示以下的错误提示：&lt;/p&gt;
&lt;p&gt;值不能为空。&lt;/p&gt;
&lt;p&gt;参数名viewinfo(microsoft.sqlserver.management.sqlstudio.explorer)&lt;/p&gt;
&lt;p&gt;&lt;img alt="blob.png" loading="lazy" src="https://www.jiazhongzhi.com/userfiles/upload/image/20180507/6366128693999631069399775.png"&gt;&lt;/p&gt;
&lt;p&gt;**解决办法：**根据下面的路径 ：&lt;/p&gt;
&lt;p&gt;C:\Users\你的用户名\AppData\Local\Temp&amp;quot;&lt;/p&gt;
&lt;p&gt;建好命名为“2”的文件夹**（是文件夹不是文件,如果存在为2的文件，则删除新建名称为2的文件夹）**；&lt;/p&gt;
&lt;p&gt;如果是找不到user这个文件夹，就找到C:\Documents and Settings\Administrator\Local Settings\Temp这个目录，同样建立好名为“2”的文件夹，&lt;strong&gt;重启数据库&lt;/strong&gt;，如果还不行，就需要重新启动服务器。&lt;/p&gt;
&lt;p&gt;其他情况：有的也会报类似的错误，但是是名为“1”的文件夹，同样参考上面方法处理。&lt;/p&gt;
&lt;p&gt;          &lt;strong&gt;如果1、2的文件夹都在，还是报错，也可尝试一下删除重建文件夹的方式。&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>SQL2008启动时报错RegisteredServerException异常</title><link>https://www.jiazhongzhi.com/history/old-100023/</link><pubDate>Tue, 27 Mar 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100023/</guid><description>&lt;p&gt;错误描述:sql2008启动时,弹出:&lt;/p&gt;
&lt;p&gt;应用程序的组件中发生了无法处理的异常。如果单击继续,应用程序将忽略次错误并尝试继续&lt;/p&gt;
&lt;p&gt;************** 异常文本 **************&lt;/p&gt;
&lt;p&gt;Microsoft.SqlServer.Management.RegisteredServers.RegisteredServerException: Unable to read the list of previously registered servers on this system. Re-register your servers in the &amp;lsquo;Registered Servers&amp;rsquo; window&lt;/p&gt;
&lt;p&gt;解决方法:&lt;/p&gt;
&lt;p&gt; 打开目录: C:\Documents and Settings\Administrator\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell &lt;/p&gt;
&lt;p&gt; 删除 RegSrvr.xml 文件&lt;/p&gt;</description></item><item><title>asp.net后台操作前台js</title><link>https://www.jiazhongzhi.com/history/old-100022/</link><pubDate>Mon, 26 Mar 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100022/</guid><description>&lt;p&gt;在asp.net项目中，有时候会用到后台直接调用前台js方法或者后台输出js脚本等操作。&lt;/p&gt;
&lt;p&gt;例如在点击保存按钮的时候，希望弹出一个js的保存成功。&lt;/p&gt;
&lt;p&gt;在旧版本的vs中使用如下：&lt;/p&gt;
&lt;p&gt; this.RegisterStartupScript(&amp;ldquo;msg&amp;rdquo;, &amp;ldquo;&lt;!-- raw HTML omitted --&gt;alert(&amp;lsquo;测试！&amp;rsquo;);&lt;!-- raw HTML omitted --&gt;&amp;rdquo;);&lt;/p&gt;
&lt;p&gt;在vs2008以上版本中会提示以上方法已过时，当然也可以使用。它对应的有了替代方法，如下：&lt;/p&gt;
&lt;p&gt;ClientScript.RegisterStartupScript(this.GetType(), &amp;ldquo;msg&amp;rdquo;, &amp;ldquo;&lt;!-- raw HTML omitted --&gt;alert(&amp;lsquo;测试弹出！&amp;rsquo;);&lt;!-- raw HTML omitted --&gt;&amp;rdquo;);&lt;/p&gt;
&lt;p&gt;与此同时会有如下操作：&lt;/p&gt;
&lt;p&gt;window.open的一个页面，点击保存后，想要关闭当前窗体，并刷新父窗体，则使用如下代码：&lt;/p&gt;
&lt;p&gt;ClientScript.RegisterStartupScript(this.GetType(), &amp;ldquo;msg&amp;rdquo;, &amp;ldquo;&lt;!-- raw HTML omitted --&gt;alert(&amp;lsquo;保存成功！&amp;rsquo;);opener.location.href=opener.location.href;window.close();&lt;!-- raw HTML omitted --&gt;&amp;rdquo;);&lt;/p&gt;</description></item><item><title>asp.net使用中文当做url参数时如何转义</title><link>https://www.jiazhongzhi.com/history/old-100021/</link><pubDate>Tue, 27 Feb 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100021/</guid><description>&lt;p&gt;string str=&amp;ldquo;你好&amp;rdquo;;
str=HttpUtility.UrlEcode(str);
Response.Write(str);
则输出结果为：%E4%BD%A0%E5%A5%BD&lt;/p&gt;
&lt;p&gt;将该类字符串进行解码操作：
string str=&amp;quot;%E4%BD%A0%E5%A5%BD&amp;quot;;
str=HttpUtility.UrlEcode(str);
Response.Write(str);
则输出结果为：你好。&lt;/p&gt;</description></item><item><title>Sqlserver2005查看所有表的触发器</title><link>https://www.jiazhongzhi.com/history/old-100019/</link><pubDate>Tue, 27 Feb 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100019/</guid><description>&lt;p&gt;因为具体到表的触发器需要点开每个表去查看，因为可以用下面的sql语句进行查看数据库中存在哪些触发器，并且可以查看触发器属于哪个表。
select t.name as [trigger_name],u.name as [table_name]  
from sysobjects t inner join sysobjects u
on t.parent_obj = u.id and t.xtype =&amp;lsquo;tr&amp;rsquo;&lt;/p&gt;</description></item><item><title>sqlserver中的判断是否为数字的函数</title><link>https://www.jiazhongzhi.com/history/old-100020/</link><pubDate>Tue, 27 Feb 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100020/</guid><description>&lt;p&gt;ISNUMERIC(列)&amp;gt;0
在一个列中如果存在数字和字符混存的情况，如果只想取其中的数字的话，可以用一下语句。
select 列 from 表 where ISNUMERIC(列)&amp;gt;0&lt;/p&gt;</description></item><item><title>Excel查找或者替换内容中的回车换行</title><link>https://www.jiazhongzhi.com/history/old-100018/</link><pubDate>Wed, 31 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100018/</guid><description>&lt;p&gt;有时候Excel单元格中有回车符，那么要如何批量去除呢？&lt;/p&gt;
&lt;p&gt;首先，打开需要替换的Excel&lt;/p&gt;
&lt;p&gt;&lt;img alt="C:\\Users\\BJNP\\Desktop\\新建文件夹\\QQ截图20180131102035.jpg" loading="lazy" src="https://www.jiazhongzhi.com/userfiles/upload/image/20180131/6365299092832837036382679.jpg"&gt;&lt;/p&gt;
&lt;p&gt;接着选择要去除回车的单元格，如果所有的都需要去除，就不用选择&lt;/p&gt;
&lt;p&gt;&lt;img alt="C:\\Users\\BJNP\\Desktop\\新建文件夹\\QQ截图20180131102053.jpg" loading="lazy" src="https://www.jiazhongzhi.com/userfiles/upload/image/20180131/6365299093775327669004472.jpg"&gt;&lt;/p&gt;
&lt;p&gt;点击【查找和选择】下的【替换】或者按快捷键 Ctrl+F查找 Ctrl+H替换&lt;/p&gt;
&lt;p&gt;&lt;img alt="C:\\Users\\BJNP\\Desktop\\新建文件夹\\QQ截图20180131102102.jpg" loading="lazy" src="https://www.jiazhongzhi.com/userfiles/upload/image/20180131/6365299094197293781016077.jpg"&gt;&lt;/p&gt;
&lt;p&gt;在查找内容中输入【Ctrl+Enter】&lt;/p&gt;
&lt;p&gt;&lt;img alt="C:\\Users\\BJNP\\Desktop\\新建文件夹\\QQ截图20180131102114.jpg" loading="lazy" src="https://www.jiazhongzhi.com/userfiles/upload/image/20180131/6365299094607542028299203.jpg"&gt;&lt;/p&gt;
&lt;p&gt;输入后，可以看到一个小点，不是很明显&lt;/p&gt;
&lt;p&gt;&lt;img alt="C:\\Users\\BJNP\\Desktop\\新建文件夹\\QQ截图20180131102122.jpg" loading="lazy" src="https://www.jiazhongzhi.com/userfiles/upload/image/20180131/6365299095146603177151195.jpg"&gt;&lt;/p&gt;
&lt;p&gt;替换为不用输入，再点击【全部替换】&lt;/p&gt;
&lt;p&gt;&lt;img alt="C:\\Users\\BJNP\\Desktop\\新建文件夹\\QQ截图20180131102128.jpg" loading="lazy" src="https://www.jiazhongzhi.com/userfiles/upload/image/20180131/6365299095581076571891278.jpg"&gt;&lt;/p&gt;
&lt;p&gt;可以看到刚才选择的单元格，换行符都被去掉了&lt;/p&gt;
&lt;p&gt;&lt;img alt="C:\\Users\\BJNP\\Desktop\\新建文件夹\\QQ截图20180131102136.jpg" loading="lazy" src="https://www.jiazhongzhi.com/userfiles/upload/image/20180131/6365299096339963554571802.jpg"&gt;&lt;/p&gt;</description></item><item><title>html+css制作的遮罩层</title><link>https://www.jiazhongzhi.com/history/old-100016/</link><pubDate>Mon, 29 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100016/</guid><description>&lt;p&gt;遮罩层是比较常用的一种效果。&lt;/p&gt;
&lt;p&gt;下面是html代码部分，包含了css代码。&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;    &lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;        &lt;!-- raw HTML omitted --&gt;点击文字弹出一个DIV层窗口代码&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;        &lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;        .black_overlay{&lt;/p&gt;
&lt;p&gt;            display: none;&lt;/p&gt;
&lt;p&gt;            position: absolute;&lt;/p&gt;
&lt;p&gt;            top: 0%;&lt;/p&gt;
&lt;p&gt;            left: 0%;&lt;/p&gt;
&lt;p&gt;            width: 100%;&lt;/p&gt;
&lt;p&gt;            height: 100%;&lt;/p&gt;
&lt;p&gt;            background-color: black;&lt;/p&gt;
&lt;p&gt;            z-index:1001;&lt;/p&gt;
&lt;p&gt;            -moz-opacity: 0.8;&lt;/p&gt;
&lt;p&gt;            opacity:.80;&lt;/p&gt;
&lt;p&gt;            filter: alpha(opacity=88);&lt;/p&gt;
&lt;p&gt;        }&lt;/p&gt;
&lt;p&gt;        .white_content {&lt;/p&gt;
&lt;p&gt;            display: none;&lt;/p&gt;
&lt;p&gt;            position: absolute;&lt;/p&gt;
&lt;p&gt;            top: 25%;&lt;/p&gt;
&lt;p&gt;            left: 25%;&lt;/p&gt;</description></item><item><title>js实现延时执行脚本</title><link>https://www.jiazhongzhi.com/history/old-100017/</link><pubDate>Mon, 29 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100017/</guid><description>&lt;p&gt;&lt;strong&gt;只执行一次&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SetTimeout (&amp;ldquo;alert(2222)&amp;quot;,5000);&lt;/p&gt;
&lt;p&gt;过5000毫秒执行弹出2222的操作。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;执行多次&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Var t=SetInterval(&amp;ldquo;alert(2222)&amp;quot;,1000);&lt;/p&gt;
&lt;p&gt;每过1000毫秒执行一次弹出2222，想要停止继续执行的话，执行ClearInterval(t);&lt;/p&gt;</description></item><item><title>sqlserver中查询存储过程和表的最后修改时间</title><link>https://www.jiazhongzhi.com/history/old-100009/</link><pubDate>Mon, 29 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100009/</guid><description>&lt;p&gt;&lt;strong&gt;当存储过程和表很多的时候。为了部署方便，只需要部署更改了的表和存储过程即可，但是&lt;strong&gt;&lt;strong&gt;sqlserver&lt;/strong&gt;&lt;/strong&gt;界面中是没有最后修改时间的，只有创建时间。因此想查询最后修改时间，需要用到下面的&lt;strong&gt;&lt;strong&gt;sql&lt;/strong&gt;&lt;/strong&gt;语句。&lt;/strong&gt;**
&lt;strong&gt;&lt;strong&gt;节省时间。&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;**&lt;strong&gt;查询最后修改时间&lt;/strong&gt;
&amp;ndash;存储过程
select name,modify_date from sys.all_objects where type=&amp;lsquo;P&amp;rsquo; order by modify_date desc
&amp;ndash;触发器
select name,modify_date from sys.all_objects where type=&amp;lsquo;TR&amp;rsquo; order by modify_date desc
&amp;ndash;表
select * from sysobjects where type=&amp;lsquo;u&amp;rsquo; order by refdate desc&lt;/p&gt;</description></item><item><title>SQLSERVR中时间戳转换为时间</title><link>https://www.jiazhongzhi.com/history/old-100014/</link><pubDate>Mon, 29 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100014/</guid><description>&lt;p&gt;时间戳其实就是现在和1970-01-01日相隔的秒数，因此直接给时间戳加上19700101即可。
dateadd(ss,old,&amp;lsquo;19700101&amp;rsquo;)
old为时间戳字段
不过获取到的时间为数据库的时间，比正常的时间少8个小时。
因此想获取正常时间则需要如下执行如下语句
dateadd(HH,8,dateadd(ss,old,&amp;lsquo;19700101&amp;rsquo;))&lt;/p&gt;</description></item><item><title>关于Response.Redirect跳转页面后Session丢失的问题</title><link>https://www.jiazhongzhi.com/history/old-100015/</link><pubDate>Mon, 29 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100015/</guid><description>&lt;p&gt;在框架页面中用Response.Redirect跳转页面后，Session莫名的丢失了。测试了很多次，问题每次都会存在。
因为做了异常跟踪。本地调试的时候，无论怎么测试，Session都不会丢失；当发布到服务器上的框架中，访问时Session总是丢失。
后来考虑是否是页面跳转的问题，尝试了把Response.Redirect修改为Sever.Transfer进行跳转，则一切正常。
总结：看了两种跳转方式的说明如下：
Response.Redirect  将客户端重定向到新的URL。这里的URL可以是跨域的网址。
Sever.Transfer  跳转到一个服务器上的页面。&lt;/p&gt;
&lt;p&gt;后来经过测试，发现用server.Transfer之后，页面的网址还是前一个网址，这样说明是新的页面添加到了旧的页面上。这样总感觉不太对劲。
因此经过尝试，继续沿用Response.Redirect 同时修改配置文件web.config中如下：
  &lt;!-- raw HTML omitted --&gt;
将cookieless设置为true，则session在丢失的问题解决了。&lt;/p&gt;</description></item><item><title>去掉a链接点击后显示的虚框</title><link>https://www.jiazhongzhi.com/history/old-100012/</link><pubDate>Mon, 29 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100012/</guid><description>&lt;p&gt;在样式文件中添加样式如下：
a {outline: none;}
a:active {star:expression(this.onFocus=this.blur());}
兼容ie和火狐&lt;/p&gt;</description></item><item><title>让页面以IE8的模式展示</title><link>https://www.jiazhongzhi.com/history/old-100011/</link><pubDate>Mon, 29 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100011/</guid><description>&lt;p&gt;犹豫浏览器存在各种各样的兼容问题，有时候我们需要让页面在高版本的浏览器下依然用低版本的浏览器模式渲染，则需要在页面的head标签中增加如下代码：&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;</description></item><item><title>数据库备份和还原加密</title><link>https://www.jiazhongzhi.com/history/old-100013/</link><pubDate>Mon, 29 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100013/</guid><description>&lt;p&gt;为了数据库安全，需要对数据库备份进行文件加密。这样备份的数据库文件是无法通过sql管理界面的还原功能进行还原的。
执行备份时加密：
Backup DATABASE ArmyExam To disk=&amp;lsquo;D:\ArmyExam2014-04-16.bak&amp;rsquo; WITH mediapassword=&amp;lsquo;123456&amp;rsquo; ,PASSWORD=&amp;lsquo;123456&amp;rsquo;
执行还原的脚本
RESTORE DATABASE ArmyExam FROM DISK=&amp;lsquo;D:\ArmyExam2014-04-16.bak&amp;rsquo; WITH PASSWORD=&amp;lsquo;123456&amp;rsquo;,MEDIAPASSWORD=&amp;lsquo;123456&amp;rsquo;,REPLACE&lt;/p&gt;</description></item><item><title>正则表达式使用分组替换内容</title><link>https://www.jiazhongzhi.com/history/old-100010/</link><pubDate>Mon, 29 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100010/</guid><description>&lt;p&gt;例子如下：
{{张三}}替换为：&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;其中$1为匹配的内容的分组名&lt;/p&gt;
&lt;p&gt;其中匹配组名也可以用\1 这种形式。&lt;/p&gt;</description></item><item><title>js实现文字无缝滚动效果</title><link>https://www.jiazhongzhi.com/history/old-100004/</link><pubDate>Fri, 26 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100004/</guid><description>&lt;p&gt;首先是页面中加一个div，如下：&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;其中 z-index是为了使内容显示在浏览器的最上面一层，不被其他内容所遮盖。&lt;/p&gt;
&lt;p&gt;然后引用js脚本如下：
&amp;lt; script type=&amp;ldquo;text/javascript&amp;rdquo;&amp;gt;
&amp;lt; !&amp;ndash;
var speed=70
demo2.innerHTML=demo1.innerHTML
function Marquee1(){
if(demo2.offsetWidth-demo.scrollLeft&amp;lt;=0)
  demo.scrollLeft-=demo1.offsetWidth
else
  demo.scrollLeft++
}
var MyMar1=setInterval(Marquee1,speed)
demo.onmouseover=function() {clearInterval(MyMar1)}
demo.onmouseout=function() {MyMar1=setInterval(Marquee1,speed)}
// &amp;ndash;&amp;gt;
            &lt;!-- raw HTML omitted --&gt;       &lt;/p&gt;
&lt;p&gt;然后运行可以查看效果。&lt;/p&gt;</description></item><item><title>SQLSERVER2005 数据库状态为“可疑”的解决方法</title><link>https://www.jiazhongzhi.com/history/old-100002/</link><pubDate>Fri, 26 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100002/</guid><description>&lt;p&gt;&lt;strong&gt;数据库出现这种情况一般是服务器硬盘出现坏道或者是意外断点等情况造成。&lt;/strong&gt;
&lt;strong&gt;先把数据库服务停掉。然后备份数据库。&lt;/strong&gt;
&lt;strong&gt;然后在查询分析器中执行如下脚本：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;ndash;MyDB****为修复的数据名&lt;/strong&gt;
USE MASTER
GO
SP_CONFIGURE &amp;lsquo;ALLOW UPDATES&amp;rsquo;,1 RECONFIGURE WITH OVERRIDE
GO
ALTER DATABASE MyDB SET EMERGENCY
GO
sp_dboption &amp;lsquo;MyDB&amp;rsquo;, &amp;lsquo;single user&amp;rsquo;, &amp;rsquo;true&amp;rsquo;
GO
DBCC CHECKDB(&amp;lsquo;MyDB&amp;rsquo;,&amp;lsquo;REPAIR_ALLOW_DATA_LOSS&amp;rsquo;)
GO
ALTER DATABASE MyDB SET ONLINE
GO
sp_configure &amp;lsquo;allow updates&amp;rsquo;, 0 reconfigure with override
GO
sp_dboption &amp;lsquo;MyDB&amp;rsquo;, &amp;lsquo;single user&amp;rsquo;, &amp;lsquo;false&amp;rsquo;
GO&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;有些情况下需要执行两遍，看具体情况自行决定。&lt;/p&gt;</description></item><item><title>table设置td的边框线，当td内容为空时不显示边框线的问题</title><link>https://www.jiazhongzhi.com/history/old-100005/</link><pubDate>Fri, 26 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100005/</guid><description>&lt;p&gt;table可以通过样式设置td的边框线样式：
border-right: 1px solid #000;
border-top: 1px solid #000;
但是当td的内容为空时，是不显示线的。如果所有内容为空的时候就会显示一片空白。
1、当td内容为空时可以设置td内容为 
2、设置table的样式：border-collapse: collapse;&lt;/p&gt;</description></item><item><title>windows2012显示桌面图标</title><link>https://www.jiazhongzhi.com/history/old-100006/</link><pubDate>Fri, 26 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100006/</guid><description>&lt;p&gt;windows2012操作系统安装完成后，默认桌面上是没有我的电脑等图标的，而且想显示图标也不能通过右击桌面属性的方式添加图标，这部分是隐藏的有一个命令。&lt;/p&gt;
&lt;p&gt;首先要打开开始种的运行命令，也可以直接按windows键+R快速打开。
在运行中，输入下面的内容
rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0&lt;/p&gt;
&lt;p&gt;就会显示我们熟悉的桌面属性的界面。然后勾选自己需要的图标即可。&lt;/p&gt;
&lt;p&gt;&lt;img alt="C:\\Users\\BJNP\\Desktop\\QQ截图20180126153249.jpg" loading="lazy" src="https://www.jiazhongzhi.com/userfiles/upload/image/20180126/6365257997698115644261401.jpg"&gt;&lt;/p&gt;</description></item><item><title>将一列数据按分隔符拼接成字符串</title><link>https://www.jiazhongzhi.com/history/old-100007/</link><pubDate>Fri, 26 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100007/</guid><description>&lt;p&gt;我们经常会遇到将一列的查询结果用逗号拼接成一个字符串的功能，下面就简单的说一下如何实现。&lt;/p&gt;
&lt;p&gt;创建一个测试表&lt;/p&gt;
&lt;p&gt;create table aaa(&lt;/p&gt;
&lt;p&gt;       id int identity(1,1),&lt;/p&gt;
&lt;p&gt;       Name nvarchar(200) null&lt;/p&gt;
&lt;p&gt;)&lt;/p&gt;
&lt;p&gt;插入测试数据&lt;/p&gt;
&lt;p&gt;insert into aaa values (&amp;lsquo;张三&amp;rsquo;)&lt;/p&gt;
&lt;p&gt;insert into aaa values (&amp;lsquo;张三&amp;rsquo;)&lt;/p&gt;
&lt;p&gt;insert into aaa values (&amp;lsquo;李四&amp;rsquo;)&lt;/p&gt;
&lt;p&gt;insert into aaa values (&amp;lsquo;王五&amp;rsquo;)&lt;/p&gt;
&lt;p&gt;insert into aaa values (&amp;lsquo;赵六&amp;rsquo;)&lt;/p&gt;
&lt;p&gt;执行如下查询结果&lt;/p&gt;
&lt;p&gt;SELECT Name + &amp;lsquo;,&amp;rsquo; FROM [aaa] FOR XML PATH(&amp;rsquo;&amp;rsquo;)&lt;/p&gt;
&lt;p&gt;则返回用逗号拼接的一个xml字符串&lt;/p&gt;
&lt;p&gt;DECLARE @Str nvarchar(max)
SELECT @Str = ISNULL(@Str +&amp;rsquo;&amp;rsquo;,&amp;rsquo;&amp;rsquo;)+ Name + &amp;lsquo;|&amp;rsquo; FROM [aaa]&lt;/p&gt;</description></item><item><title>设置或得到CheckBoxList的选中值</title><link>https://www.jiazhongzhi.com/history/old-100008/</link><pubDate>Fri, 26 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100008/</guid><description>&lt;p&gt;CheckBoxList是比较常用的一个服务器控件，由于他是多个checkbox的集合，对选项可以实现多选功能，所以后台获取选中的值以及设置默认选中值的话就需要用到遍历。下面是实际操作例子：&lt;/p&gt;
&lt;p&gt;/// &lt;!-- raw HTML omitted --&gt;
       /// 初始化CheckBoxList中哪些是选中了的       &lt;/p&gt;
&lt;p&gt;/// &lt;!-- raw HTML omitted --&gt;
       /// &lt;!-- raw HTML omitted --&gt;CheckBoxList&lt;!-- raw HTML omitted --&gt;
       /// &lt;!-- raw HTML omitted --&gt;选中了的值串例如：&amp;ldquo;0,1,1,2,1&amp;rdquo;&lt;!-- raw HTML omitted --&gt;
       /// &lt;!-- raw HTML omitted --&gt;值串中使用的分割符例如&amp;quot;0,1,1,2,1&amp;quot;中的逗号&lt;!-- raw HTML omitted --&gt;
        public static string SetChecked(CheckBoxList checkList,string selval,string separator)
        {
            selval = separator + selval + separator;        //例如：&amp;ldquo;0,1,1,2,1&amp;rdquo;-&amp;gt;&amp;quot;,0,1,1,2,1,&amp;quot;
            for(int i=0; i&amp;lt;checkList.Items.Count; i++)
            {
                checkList.Items[i].Selected = false;
                string val = separator + checkList.Items[i].Value + separator;
                if(selval.IndexOf(val)!=-1)
                {
                    checkList.Items[i].Selected = true;
                    selval = selval.Replace(val,separator);        //然后从原来的值串中删除已经选中了的
                    if(selval == separator)        //selval的最后一项也被选中的话，此时经过Replace后，只会剩下一个分隔符
                    {        
                        selval += separator;        //添加一个分隔符
                    }
                }
            }
            selval = selval.Substring(1,selval.Length-2);        //除去前后加的分割符号
            return selval;
        }        /// &lt;!-- raw HTML omitted --&gt;
        /// 得到CheckBoxList中选中了的值
        /// &lt;!-- raw HTML omitted --&gt;
        /// &lt;!-- raw HTML omitted --&gt;CheckBoxList&lt;!-- raw HTML omitted --&gt;
        /// &lt;!-- raw HTML omitted --&gt;分割符号&lt;!-- raw HTML omitted --&gt;
        /// &lt;!-- raw HTML omitted --&gt;&lt;!-- raw HTML omitted --&gt;
        public static string GetChecked(CheckBoxList checkList, string separator)
        {
            string selval = &amp;ldquo;&amp;rdquo;;
            for(int i=0;i&amp;lt;checkList.Items.Count;i++)
            {
                if(checkList.Items[i].Selected)
                {
                    selval += checkList.Items[i].Value + separator;
                }
            }
            return selval;
        }&lt;/p&gt;</description></item><item><title>正则表达式基本语法</title><link>https://www.jiazhongzhi.com/history/old-100003/</link><pubDate>Fri, 26 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100003/</guid><description>&lt;h2 id="11"&gt;1.1    &lt;/h2&gt;
&lt;p&gt;元字符&lt;/p&gt;
&lt;p&gt;描述&lt;/p&gt;
&lt;p&gt;\&lt;/p&gt;
&lt;p&gt;将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如，“\n”匹配\n。“\n”匹配换行符。序列“\”匹配“\”而“(”则匹配“(”。&lt;/p&gt;
&lt;p&gt;^&lt;/p&gt;
&lt;p&gt;匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性，^也匹配“\n”或“\r”之后的位置。&lt;/p&gt;
&lt;p&gt;$&lt;/p&gt;
&lt;p&gt;匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性，$也匹配“\n”或“\r”之前的位置。&lt;/p&gt;
&lt;p&gt;*&lt;/p&gt;
&lt;p&gt;匹配前面的子表达式零次或多次(大于等于0次)。例如，zo*能匹配“zo”以及“zoo”。*等价于{0,}。&lt;/p&gt;
&lt;p&gt;+&lt;/p&gt;
&lt;p&gt;匹配前面的子表达式一次或多次(大于等于1次）。例如，“zo+”能匹配“zo”以及“zoo”，但不能匹配“z”。+等价于{1,}。&lt;/p&gt;
&lt;p&gt;?&lt;/p&gt;
&lt;p&gt;匹配前面的子表达式零次或一次。例如，“do(es)?”可以匹配“does”或“does”中的“do”。?等价于{0,1}。&lt;/p&gt;
&lt;p&gt;{n}&lt;/p&gt;
&lt;p&gt;n是一个非负整数。匹配确定的n次。例如，“o{2}”不能匹配“Bob”中的“o”，但是能匹配“food”中的两个o。&lt;/p&gt;
&lt;p&gt;{n,}&lt;/p&gt;
&lt;p&gt;n是一个非负整数。至少匹配n次。例如，“o{2,}”不能匹配“Bob”中的“o”，但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。&lt;/p&gt;
&lt;p&gt;{n,m}&lt;/p&gt;
&lt;p&gt;m和n均为非负整数，其中n&amp;lt;=m。最少匹配n次且最多匹配m次。例如，“o{1,3}”将匹配“fooooood”中的前三个o。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。&lt;/p&gt;
&lt;p&gt;?&lt;/p&gt;
&lt;p&gt;当该字符紧跟在任何一个其他限制符（*,+,?，{n}，{n,}，{n,m}）后面时，匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串，而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如，对于字符串“oooo”，“o?”将匹配单个“o”，而“o+”将匹配所有“o”。&lt;/p&gt;
&lt;p&gt;.点&lt;/p&gt;
&lt;p&gt;匹配除“\n”之外的任何单个字符。要匹配包括“\n”在内的任何字符，请使用像“[\s\S]”的模式。&lt;/p&gt;
&lt;p&gt;(pattern)&lt;/p&gt;
&lt;p&gt;匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到，在VBScript中使用SubMatches集合，在JScript中则使用$0…$9属性。要匹配圆括号字符，请使用“(”或“)”。&lt;/p&gt;
&lt;p&gt;(?:pattern)&lt;/p&gt;
&lt;p&gt;匹配pattern但不获取匹配结果，也就是说这是一个非获取匹配，不进行存储供以后使用。这在使用或字符“(|)”来组合一个模式的各个部分是很有用。例如“industr(?:y|ies)”就是一个比“industry|industries”更简略的表达式。&lt;/p&gt;
&lt;p&gt;(?=pattern)&lt;/p&gt;
&lt;p&gt;正向肯定预查，在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配，也就是说，该匹配不需要获取供以后使用。例如，“Windows(?=95|98|NT|2000)”能匹配“Windows2000”中的“Windows”，但不能匹配“Windows3.1”中的“Windows”。预查不消耗字符，也就是说，在一个匹配发生后，在最后一次匹配之后立即开始下一次匹配的搜索，而不是从包含预查的字符之后开始。&lt;/p&gt;
&lt;p&gt;(?!pattern)&lt;/p&gt;
&lt;p&gt;正向否定预查，在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配，也就是说，该匹配不需要获取供以后使用。例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”，但不能匹配“Windows2000”中的“Windows”。&lt;/p&gt;
&lt;p&gt;(?&amp;lt;=pattern)&lt;/p&gt;
&lt;p&gt;反向肯定预查，与正向肯定预查类似，只是方向相反。例如，“(?&amp;lt;=95|98|NT|2000)Windows”能匹配“2000Windows”中的“Windows”，但不能匹配“3.1Windows”中的“Windows”。&lt;/p&gt;
&lt;p&gt;(?&amp;lt;!pattern)&lt;/p&gt;
&lt;p&gt;反向否定预查，与正向否定预查类似，只是方向相反。例如“(?&amp;lt;!95|98|NT|2000)Windows”能匹配“3.1Windows”中的“Windows”，但不能匹配“2000Windows”中的“Windows”。&lt;/p&gt;
&lt;p&gt;x|y&lt;/p&gt;
&lt;p&gt;匹配x或y。例如，“z|food”能匹配“z”或“food”。“(z|f)ood”则匹配“zood”或“food”。&lt;/p&gt;
&lt;p&gt;[xyz]&lt;/p&gt;
&lt;p&gt;字符集合。匹配所包含的任意一个字符。例如，“[abc]”可以匹配“plain”中的“a”。&lt;/p&gt;
&lt;p&gt;[^xyz]&lt;/p&gt;
&lt;p&gt;负值字符集合。匹配未包含的任意字符。例如，“[^abc]”可以匹配“plain”中的“plin”。&lt;/p&gt;
&lt;p&gt;[a-z]&lt;/p&gt;
&lt;p&gt;字符范围。匹配指定范围内的任意字符。例如，“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。&lt;/p&gt;
&lt;p&gt;注意:只有连字符在字符组内部时,并且出两个字符之间时,才能表示字符的范围; 如果出字符组的开头,则只能表示连字符本身.&lt;/p&gt;
&lt;p&gt;[^a-z]&lt;/p&gt;
&lt;p&gt;负值字符范围。匹配任何不在指定范围内的任意字符。例如，“[^a-z]”可以匹配任何不在“a”到“z”范围内的任意字符。&lt;/p&gt;
&lt;p&gt;\b&lt;/p&gt;
&lt;p&gt;匹配一个单词边界，也就是指单词和空格间的位置。例如，“er\b”可以匹配“never”中的“er”，但不能匹配“verb”中的“er”。&lt;/p&gt;
&lt;p&gt;\B&lt;/p&gt;
&lt;p&gt;匹配非单词边界。“er\B”能匹配“verb”中的“er”，但不能匹配“never”中的“er”。&lt;/p&gt;
&lt;p&gt;\cx&lt;/p&gt;
&lt;p&gt;匹配由x指明的控制字符。例如，\cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一。否则，将c视为一个原义的“c”字符。&lt;/p&gt;
&lt;p&gt;\d&lt;/p&gt;
&lt;p&gt;匹配一个数字字符。等价于[0-9]。&lt;/p&gt;
&lt;p&gt;\D&lt;/p&gt;
&lt;p&gt;匹配一个非数字字符。等价于[^0-9]。&lt;/p&gt;
&lt;p&gt;\f&lt;/p&gt;
&lt;p&gt;匹配一个换页符。等价于\x0c和\cL。&lt;/p&gt;
&lt;p&gt;\n&lt;/p&gt;
&lt;p&gt;匹配一个换行符。等价于\x0a和\cJ。&lt;/p&gt;
&lt;p&gt;\r&lt;/p&gt;
&lt;p&gt;匹配一个回车符。等价于\x0d和\cM。&lt;/p&gt;
&lt;p&gt;\s&lt;/p&gt;</description></item><item><title>清除sqlserver当前的连接</title><link>https://www.jiazhongzhi.com/history/old-100001/</link><pubDate>Mon, 15 Jan 2018 00:00:00 +0800</pubDate><guid>https://www.jiazhongzhi.com/history/old-100001/</guid><description>&lt;p&gt;清除sqlserver当前的连接，前提是连接不能正在被使用着。
alter database [FT_EmploymentSysDb] set
offline with rollback after 1;
alter database [FT_EmploymentSysDb] set
online with rollback after 1;&lt;/p&gt;</description></item></channel></rss>