摘要:
好久没有写SSIS了,接着上回的Import Column,这个随笔学习Export Column,这个转换任务用来从数据库中的blob类型的列转换成文件保存到文件系统中或者在Microsoft Word文件或者Microsoft Paint文件中浏览。执行这个task的关键是要有一列包含文件的数据和要导出文件的路径。Export Column会将数据列转换成物理文件,并按照完全限定的路径保存这些文件。在下面的例子中,将把数据库AdventureWorks中的一个文件列导出。如果你安装了数据库AdventureWorks,在这个数据库中有一个包含文件的表 [Production].[docum 阅读全文
摘要:
最近用到UltraEdit,从网上搜了一篇文章,链接是:http://blog.ednchina.com/sh_jiajia/187745/message.aspxUltraEdit在使用正则表达式进行查找替换时有两个可使用的语法集合。一个是 UltraEdit 的更早的版本被使用的原来的 UltraEdit 句法。另一个是“Unix”类型的正则表达式,这个集合在UltraEdit的默认配置中是没有启用的,需要在配置中找到search项,启用Unix类型的正则表达式。语法集合一:符号 功能% 匹配行的开始 - 显示搜索字符串必须在行的开始,但是在所选择的结果字符串中不包括任何行终止字符。$ 匹 阅读全文
摘要:
今天同事安装MOSS 2007(32位)遇到了一个错误。我记得以前装过,觉得功能很强大的,所有的东西不管什么放在sharepoint里面就变成两样,一个是列表,一个是文件,并且全部都是自动生成数据表的,我的理解可能很简单。下面我们来看看具体的问题。点击setup.exe,就弹出一个对话框提示:The product requires ASP.NET v2.0 to be set to ‘Allow’ in the list of Internet Information Service(IIS) Web Server Extensions. … …. 如下图1图1这个问题很明显,说明IIS服务 阅读全文
摘要:
数据库中的数据编辑是我们遇到的最频繁的工作,这一个随笔中我来总结一下最常用的数据编辑。 select into经常遇到一种情况是,我们希望创建一个新表,表中的数据来源于原有的一个表;原有一个表,但是这个表中的数据已经很混乱,我们希望把这些数据备份出来,然后把原有的表中的数据清除,重新导入;在这些情况下我们可以使用select into语句。如果当前用户拥有建表权限,在select语句使用关键字into可以在数据库中创建新的 表。这个语句只需要把into new_table_name加到选择出的列名之后,from关键字之前,当然数据可以来源于一个或多个表中。需要说明的是在新表中只包含select 阅读全文
摘要:
要知道线程等待时间是制约SQL Server效率的重要原因,这一个随笔中将学习怎样收集SQL Server中的线程等待时间,类型等信息,这些信息是进行数据库优化的依据。 sys.dm_os_wait_stats这是一个系统视图,里面存储线程所遇到的所有的等待信息,具体的列如下表列名数据类型说明Wait_typeNvarchar(60)等待类型名称waiting_tasks_countBigint等待类型的等待数。该计数器在每开始一个等待时便会增加。Wait_time_msBigint该等待类型的总等待时间。Max_wait_time_msBigint该等待类型的最长等待时间。Signal_wa 阅读全文
摘要:
备份数据库时出现一个不太了解的错误 ,错误信息“is formatted to support 1 media families, but 2 media families are expected according to the backup device specification”。如下图:解决办法是首先选中击上一次备份的文件,点击Remove,去掉当前的备份文件,然后再点击OK备份。这样才能正确的备份。也在微软帮助文档里面看过原由,实在内容太多没有时间细看。还原数据库,又遇到了数据库里面的小把戏,还原的时候发现在文件夹内找不到bak文件,选择All Files(*)之后才能显示出来。 阅读全文
摘要:
在SQL Server 2005的beta版本中导入列任务命名为插入列转换,他和导出列任务是一对经常搭配使用的任务,在SQL Server 2005的beta版本中导出列任务命名为文件抽取。当我们搞清楚它们实现什么功能的时候会发现原来的名字更加贴切。这种转换将系统文件路径中的物理文件转化为数据库中的表数据,反之亦然。理解输入列任务的关键是输入源中至少有一列保存将要导入到数据库中的文件的路径,还需要目标列保存文件和文件路径。这种转换的主要配置仍然使用高级编辑。我们称之为高级编辑可能就因为它不够直观,有点麻烦,也没有类似于向导一样的设置,但是熟悉之后使用它将会很方便。在高级编辑中没有类似将两列合并 阅读全文
摘要:
下面的随笔中将讲述SSIS中的高级转换任务,和老旧的SQL Server 2000 DTS相比,我们会发现现在以前的dark-arrow,data-pump任务没有了。在转换任务中隐藏ActiveX脚本和嵌入连接字符的方法也被去除了。在将Package指向不同的数据库的时候也不会忘记修改转换对象,在修改对象连接的时候也一样。现在新建全局连接。转换任务可以被更加容易的管理,使用便捷界面可以浏览任务的设计界面并修改属性。在使用SSIS package的时候,有些时候需要避免一些过度依赖的情况。没有必要在package中使用ActiveX脚本任务暴力的解决一些很复杂问题。事实上如果一开始就过度依赖脚 阅读全文
摘要:
在上一个随笔中我们处理了一个010305c.dat文件,如果在一个文件夹中有多个dat文件应该怎么办呢? 这里就需要使用Foreach Loop container任务来循环处理文件,这个需要使用多个dat文件。 循环首选对路径C:\SSISDemos下的所有.DAT文件进行循环操作并下载到数据库中。使用Foreach Loop循环执行操作。这里还在上随笔的Package里拖放一个Foreach Loop Container,重命名为Loop Through Files。双击打开边界界面,点击打开Collection标签界面,可以看到Enumerator栏内默认选择Foreach File E 阅读全文
摘要:
前面我们熟悉了很多ELT任务,这一个节来讨论复杂点的数据清洗。这里我们要使用的数据源是.dat文件,这种文件在大型主机上,或者是比较老旧的应用系统中非常常见。这个例子的情景是一个信用卡公司,目前正着手于拓展Florida州新成立的一些公司的业务。市场部门每周都会向这些公司发送一些邮件,我们要为所有的邮件准备抽取数据。假设Florida州提供的一个上面这个dat文件,它是从老的计算机系统里面得到的,它是定长分隔的,这意味着文件中没有分隔符,必须手工设置分隔列的长度。从下面的连接下载这个.dat文件:010305c.dat。如果使用工具查看,它们的模样类似下面的: 01 ANNUAL_MICRO_ 阅读全文