WEB开发网
开发学院数据库MSSQL Server SQL Server 2005 数据转换服务的常见设计问题 阅读

SQL Server 2005 数据转换服务的常见设计问题

 2007-05-13 09:25:05 来源:WEB开发网   
核心提示: 为什么表达式语言既不是 SQL 也不是 Visual Basic?因为 SQL 和 Visual Basic 都不能满足 DTS 数据流的要求,例如,SQL Server 2005 数据转换服务的常见设计问题(4),我们想支持一组运算符,比如用于处理很多情况下作为标记使用的位掩码的按位运算
为什么表达式语言既不是 SQL 也不是 Visual Basic?

因为 SQL 和 Visual Basic 都不能满足 DTS 数据流的要求。例如,我们想支持一组运算符,比如用于处理很多情况下作为标记使用的位掩码的按位运算符。此外,为了更好地利用内存(从而获得最佳性能),DTS 数据流对数据类型有着严格的限制,这也反映在表达式语法中。

DTS 表达式语法使您能够设计出通过复杂的字符串和数据类型处理而获得高性能的数据流。如果表达式语言不支持您需要的某些函数,或者您更喜欢使用 Visual Basic 语法,那么您可以使用脚本组件,脚本组件允许您在数据流中使用 Visual Basic .NET。

为什么有些函数不在表达式语言中?

由于资源限制,无法实现目前可从 SQL Server TSQL 中找到的每个函数。设置第一批函数时我们曾咨询过客户和开发人员,我们会认真考虑收到的测试版反馈信息,为以后的测试版和最终版本做好准备。

为什么必须在源适配器,而不是在使用组件(例如合并)中配置排序顺序?

行的顺序是在源适配器中设置的,并且无法通过大多数下游转换进行更改(排序可能是一个例外)。能够识别源数据顺序的源适配器无需用户帮助即可设置此信息,但在大多数情况下,提供给源组件的元数据不充分,使源组件无法设置输出列排序信息,因此用户需要自行完成此操作。

为什么必须在软件包中锁定变量?

当适于改进并发性并且这样可以提高性能和可伸缩性时,DTS 运行时将使用多个线程来完成执行。为了避免多个线程同时试图访问一个变量,必须为您的操作锁定变量,从而使对变量的所有访问都是“安全的”;如果不这样做,可能会导致软件包出现各种响应,从“有时不工作”到返回完全不正确的结果。即使软件包是完全线性的,这也可能是一个问题:例如,如果用户要更改循环中的并发设置。

上一页  1 2 3 4 5 6  下一页

Tags:SQL Server 数据

编辑录入:coldstar [复制链接] [打 印]
赞助商链接