导航

远在上海2010

远在上海:记录崔文远在上海的日子

[置顶] 出售Asp+Access个人主页/个人博客空间:100M每年50元,独立FTP支持

SQL中取得时间的几个技巧

显示星期几
select datename(weekday,getdate())

如何取得某个月天数
declare @m int
set @m=3 --月份
select datediff(day,'2006-'+cast(@m as varchar)+'-15' ,'2006-'+cast(@m+1 as varchar)+'-15')

判断是否闰年
SELECT case day(dateadd(mm, 2, dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)))) when 28 then '平年' else '闰年' endselect case datediff(day,datename(year,getdate())+'-02-01',dateadd(mm,1,datename(year,getdate())+'-02-01')) when 28 then '平年' else '闰年' end

更改MSSQL数据库物理文件名的方法(SQL语句)

很久以前遇到过遇到过复制数据库的问题,今天再次碰到,有这个样子一个需求:

1、原始数据库olddb,数据库文件为olddb_data.mdf,日志文件为olddb_log.ldf。
2、停掉原始数据库,复制一份新文件newdb_data.mdf,日志文件为newdb_log.ldf。
3、附加newdb_data.mdf和newdb_log.ldf文件为数据库newdb(如下图)



我们可以看到红线标示的部分文件名依然是olddb_data,怎么样才能修改为newdb_data呢?

Sql语句如下

ALTER DATABASE newdb MODIFY FILE(NAME='olddb_Data',NEWNAME='newdb_Data') 
GO
ALTER DATABASE newdb MODIFY FILE(NAME='olddb_Log',NEWNAME='newdb_Log') 
GO


更改后



更改MSSQL数据库物理文件名Sql语句的写法

ALTER DATABASE 现数据库名 MODIFY FILE(NAME='当前数据文件物理数据文件名称',NEWNAME='新数据文件物理文件名(File)') 
GO 
   
ALTER DATABASE 现数据库名 MODIFY FILE(NAME='当前日志文件物理数据文件名称',NEWNAME='新日志文件物理文件名(FileName)') 
GO 

推荐一款好用的SQL2000 DTS备份迁移软件:DTS Backup 2000

公司的SQL Server 2000的DTS无故不能打开编辑DTS文件,错误信息如下。猜测原因为Windows补丁升级造成。



只好重新安装以前用过一次的DTSBackup2000的小软件,也因此放到Blog上面推荐一下这个很好用的免费软件。



尽管Sql Server 2005已经问世几年,但我相信很多公司还仍然大量的使用着Sql Server 2000的服务器,依然有很多在使用SQL 2000的DTS。那么DTS Backup 2000作为一款DTS包备份、恢复、迁移的免费工具,肯定会获得你的喜爱。

更多详细内容请点击这里

More...

SQL Server 多表更新方法

早晨从济南返回,接着到公司上班。继续没完成的项目开发,遇到了批量数据导入后,多表更新的问题。记得以前用access实现起来很简单的,可是到了SQL Server居然行不通了。只好求助搜索引擎,分享一下吧。

More...

A sample of Flat File Source Data conversion failed

今天上午遇到的问题,当从文本文件倒入数据到Sqlserver 2005时出现一下错误:"[Flat File Source [1]] Error: Data conversion failed. The data conversion for column "Column 2" returned status value 4 and status text "Text was truncated or one or more characters had no match in the target code page.". "。数据来源是Baan系统,出错的字段是供应商名称,查了一下Oracle数据库,知道这个字段长度为60个字符。而在做Data Conversion的时候,默认的转换为Unicode String[DT_WSTR] 50(见下图),这里只能改成60才行。

但是关键问题不是这里!请往下看。

More...

推荐SSIS学习论坛:微软官方MSDN论坛

我遇到的几个小问题,还有入门的学习都是看的这里,这里有很多国家的用户。

MSDN Forums » SQL Server » SQL Server Integration Services

论坛地址:[URL=http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=80&SiteID=1
]http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=80&SiteID=1[/URL]

SQL Server Integration Services
All questions related to SSIS, transforms/data flow, control flow, and other related topics.

推荐入门学习资料:SSIS Guided Tours 或者http://www.microsoft.com/sql/technologies/integration/tours.mspx

SQL Server 2005 SSIS学习:Data Conversion Object

今天在使用SSIS从Sql Server 2000导出数据到Sql Server 2005中的时候出现了以下错误。


Error at StaffViewBak [OLE DB Destination [16]]: Column "Staff_Name" cannot convert between unicode and non-unicode string data types.

Error at StaffViewBak [DTS.Pipeline]: One or more component failed validation.

Error at StaffViewBak: There were errors during task validation.

 (Microsoft.DataTransformationServices.VsIntegration)


这个原因是因为原数据库和目标数据库的字符类型不同造成的,我从网上搜了一下,没有中文资料,英文资料简单的介绍了一下。我试了几种,发现还是用“DataConversion”比较好。

title

Data Conversion can convert between unicode and non-unicode string data types

SQL Server 2005 SSIS 简单介绍

Sql Server 7开始出现的DTS在Sql Server 2000下发挥了不小的数据导入导出功能,开始研究Sql Server 2005,发现DTS没有了,变成了SSIS。很多Sql server 2000下的DTS包不能直接编辑和使用了,赶快充电。

在Chinapub上订了两本书:

SQL Server 2005数据库开发详解 ¥60.84 北京发送

Microsoft SQL Server 2005开发指南 ¥38.92 北京发送

本文是一篇官方的SSIS的介绍文字,有兴趣的朋友不妨看看到底微软的Business Intelligence工具到底是什么。

More...

Is Null

一个简单的问题,但是也许很多人都用错.

当数据库的一个字段Field的默认值为Null时,如何在SQL的查询\更新\添加时做判断,又如何在ASP语言中做判断?

SQl语句中

Select Field from Table Where Field is Null
or
Select Field from Table Where Field is Not Null

Update Table Set Field=Null Where Field =?

Insert Into Table (Field, TransDate) Values (NULL, GETDATE())

ASP中

错误的用法
If Rs("Field") Is Null Then
Update
End if

正确的用法
If IsNull(Rs("Field")) Then
Update
End if

SQL中如何删除一个表中重复的纪录

忙中偷闲,整理了30772个汉语成语,但是在整理的过程中药删除大概1025条重复的数据,这些数据应该是在采集整理的过程中网络中断造成的重复。

下面的就是一条简单的语句用来删除一个表中重复的记录:

DELETE FROM ChengYu WHERE (ID NOT IN (SELECT ID = MIN(ID) FROM ChengYu GROUP BY name))

DELETE FROM Table WHERE (KeyID NOT IN (SELECT KeyID = MIN(KeyID) FROM Table GROUP BY Name))
分页:[«]1[2][»]

Powered By Z-Blog .Theme from Google黑板报 By Washun

UNISON UPDATE Copyright 2005-2010 cuiwenyuan.com. Some Rights Reserved. Hosted in Edong.com.