数据库

sql server 导出exlce文件

EXEC master..xp_cmdshell 'bcp eoldb_taobao.dbo.shops out d:\shops.xls -c -q -S"EOLServer\EOLDB" -U"eol" -P"eol2007"'
--eoldb_taobao数据库名称
--shops 表名称
--EOLServer\EOLDB 数据库服务器名
--eol 数据库登陆帐号
--eol2007 数据库登陆帐号密码

ROR Client does not support authentication protocol requested by server; consider upgrading MySQL client

Status: 500 Internal Server Error Client does not support authentication protocol requested by server; consider upgrading MySQL client

Enter password: ***
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 15756 to server version: 5.0.22-community-nt

Type 'help;' or '\h' for help. Type '\c' to 更多 >

SQL的split用法

select
case
when PATINDEX('%[_]%', shopNum) > 0 then SUBSTRING(shopNum,0,PATINDEX('%[_]%', shopNum))
else shopNum
end
from shops

select shopNum from shops

SQL Server 2005 直接将表(table)导出excle

1,新建一个excel文件到磁盘 我这里为:test.xls

2,

EXEC master..xp_cmdshell 'bcp TaobaoDB.dbo.Customers out c:\test.xls -c -q -S"D8AB16DFB606485" -U"sa" -P"123"'
/*bcp 固定的
TaobaoDB 数据库名称 database
Customers 要导出excel的表名
c:\test.xls 要导出的excle路径加excle名称
D8AB16DFB606485 SQL服务器名称
sa 数据库登陆用户
123 数据库登陆密码
*/

3,如图

SQL 截取列值 SQL 把列值转换为INT

select *  from documents
where
convert(int,SUBSTRING(DocumentNumber,len(DocumentNumber)-3,4)) >= 7935 

说明:
convert(int,value): value 可以直接是字段名称 int 可以换为其他
SUBSTRING(value,start,count) : value 为字段名称 start 为截取开始位置 count 截取数量
len(value) :获取字段的Length值

SQL2005 自动备份数据库且保存为 时间.BAK

首先开启Agent服务

找到管理的维护计划

输入计划名称 在按确定

选择相应

此时一定要保持 c+s

DECLARE @strPath NVARCHAR(200)
set @strPath = convert(NVARCHAR(19),getdate(),120)
set @strPath = REPLACE(@strPath, ':' , '-')
set @strPath = 'F:\' + @strPath + '.bak'
BACKUP DATABASE [AhlanStock] TO DISK = @strPath WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT

SQL Server 阻止了对组件 ‘Ad Hoc Distributed Queries’ 的 STATEMENT’OpenRowset/Open…

SQL Server 阻止了对组件 ‘Ad Hoc Distributed Queries’ 的 STATEMENT’OpenRowset/OpenD

   在sql查询编辑器中执行 启用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
    使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure

用sql语句把excel导入到Sqlserver2005

一开始参数写错,有如下报错: 消息 7399,级别 16,状态 1,第 1 行 链接服务器 “(null)” 的 OLE DB 访问接口 “Microsoft.Jet.OLEDB.4.0″ 报错。提供程序未给出有关错误的任何信息。 消息 7303,级别 16,状态 1,第 1 行 无法初始化链接服务器 “(null)” 的 OLE DB 访问接口 “Microsoft.Jet.OLEDB.4.0″ 的数据源对象。 这个错误都是参数不正确引起的,不需紧张。

SELECT * INTO Product FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source=d:\product.xls;Extended Properties=Excel 8.0')...[product$]
--Product为你要新建的表名,d:\product.xls为你要导入的excel,product$为你要导入的Sheet,别忘了$符号。 收工

用sql语句把dbf导入sql server 解决导入报错问题

把dbf导入sql server 导入dbf浪费我大把时间,且老是报错,有:链接服务器”(null)”的 OLE DB 访问接口 “Microsoft.Jet.OLEDB.4.0″ 返回了消息 “未指定的错误”。等等乱七八糟的 导入语句如下:

select * into products from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=d:\','select * from [aa.DBF]')
//products 为要新建的表名,MSDASQL这个是固定的无需修改,SourceDB只要精确到dbf文件夹就行,aa.DBF为你要导入到SqlServer的dbf

其中遇到错误网上大把,我安装了VFPODBC就全部OK了,good luck!

SQL Server 清空表数据 且 清空计数器ID

LinqUtil.Db.ExecuteCommand("TRUNCATE TABLE warehousing");   //warehousing为表名,此种删除效率更高,且会清空计数器,但是有外键的表则不能用,可以通过删除外键后使用
LinqUtil.Db.ExecuteCommand("delete ioinfo"); //因为此种删除不能清空计数器,所以下面还的清空
LinqUtil.Db.ExecuteCommand("dbcc checkident(ioinfo,reseed,0)"); //清空计数器,ioinfo为表名
LinqUtil.Db.SubmitChanges();