微软BI 之SSIS 系列 - MVP 们也不解的 Scrip Task 脚本任务中的一个 Bug
生活随笔
收集整理的這篇文章主要介紹了
微软BI 之SSIS 系列 - MVP 们也不解的 Scrip Task 脚本任务中的一个 Bug
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
開(kāi)篇介紹
前些天自己在整理 SSIS 2012 資料的時(shí)候發(fā)現(xiàn)了一個(gè)功能設(shè)計(jì)上的疑似Bug,在 Script Task 中是可以給只讀列表中的變量賦值。我記得以前在 2008 的版本中為了弄明白這個(gè)配置,還特意測(cè)試過(guò)這個(gè)細(xì)節(jié),獲取錯(cuò)誤并理解了這個(gè)功能。但是現(xiàn)在回去再次測(cè)試 2008 的版本時(shí),發(fā)現(xiàn)這個(gè)功能在 2008 中其實(shí)也是錯(cuò)誤的,把我印象中的測(cè)試結(jié)果完全給推翻了,所以到現(xiàn)在已經(jīng)搞不清楚我當(dāng)時(shí)到底是如果得出這個(gè)錯(cuò)誤的。疑似功能 Bug 描述
在 SSIS 包中定義了用戶(hù)自定義變量 - PV_CURRENT_DATE,并且把它們放置在 ReadOnlyVariables 中,按照我們的通常理解那么這些變量在 Script Task 中應(yīng)該就是只讀性質(zhì)的,不能賦值給他們。如果需要讀寫(xiě)一個(gè)變量,那么這個(gè)變量就應(yīng)該放到 ReadWriteVariables 中。 在代碼中可以看到 PV_CURRENT_DATE 這個(gè)變量被賦值了。 按道理應(yīng)該報(bào)錯(cuò)的,包執(zhí)行失敗的,結(jié)果卻是執(zhí)行成功! 那么在 SSIS 2012 中要如何解決或者描述這個(gè)問(wèn)題呢? 測(cè)試一下,修改變量 PV_CURRENT_DATE 將它的 ReadOnly 屬性修改為 True,標(biāo)明是只讀,這個(gè)時(shí)候才會(huì)出錯(cuò)。 通過(guò)斷點(diǎn)調(diào)試就會(huì)發(fā)現(xiàn)這個(gè)錯(cuò)誤的原因就是 : Error trying to write to a read-only variables,試圖向只讀的變量寫(xiě)值。 唯一能解釋的通的就是在 SSIS 2012 中的 ReadOnlyVariables 列表中出現(xiàn)的就只能是 ReadOnly = True 的變量,在 ReadWriteVariables?是可以看到 ReadOnly = False 或者 ReadOnly = True 的所有變量。如果本意是這樣的話(huà),我覺(jué)得這種設(shè)計(jì)顯得非常的別扭,并且 ReadOnlyVariables 這個(gè)很容易給人誤導(dǎo),讓人認(rèn)為是放入其中的變量在 Script Task 中就是只讀的!MSDN 論壇
我把這個(gè)問(wèn)題也貼在了 MSDN 論壇 - Is it a bug - SSIS 2012 ReadOnlyVariables in Script Task doesn't work 回復(fù)帖子的兩個(gè) MVP?SSISJoost?和?Visakh16?也都重現(xiàn)了這個(gè)問(wèn)題,也認(rèn)為這是一個(gè)設(shè)計(jì)上的 Bug。 但是我最后還是自己否定了自己,只能說(shuō)是疑似 Bug,但是從這個(gè)角度來(lái)考慮,也確實(shí)可能就是 By Design,以下是我的個(gè)人觀點(diǎn):? 關(guān)于這個(gè)問(wèn)題,我也提給了微軟,可以訪(fǎng)問(wèn) ?SSIS 2012 ReadOnlyVariables in Script Task doesn't work??來(lái)關(guān)注微軟技術(shù)團(tuán)隊(duì)最終的確認(rèn)。 對(duì)于這個(gè)問(wèn)題,包括上面兩個(gè)非常 NB 的 MVP 以及被我挖出來(lái)的這個(gè)帖子?SSIS Script task 'ReadOnlyVariables'? 中的另外兩個(gè)牛人 MVP?ArthurZ?和?Reza Raad?也同樣對(duì)這一個(gè)特性持有疑似 Bug 的觀點(diǎn)。 如果這么多人也都這么認(rèn)為的話(huà),即使不是 Bug,這個(gè)設(shè)計(jì)也是存在問(wèn)題和缺陷的,因?yàn)橹鴮?shí)實(shí)誤導(dǎo)了很多人。PS
MVP Reza Raad 的代表作 《Microsoft SQL Server 2012 Integration Services: An Expert Cookbook》其它有關(guān) Script Task 腳本任務(wù)的文章
微軟BI 之SSIS 系列 - 使用 Script Task 訪(fǎng)問(wèn)非 Windows 驗(yàn)證下的 SMTP 服務(wù)器發(fā)送郵件MSDN 論壇的 BI MVP 們
- ArthurZ?(MVP,MCDBA, MCAD, MCTS and MCITP)
- Reza Raad?(MVP, MCP, MCTS and MCI《Microsoft SQL Server 2012 Integration Services: An Expert Cookbook》作者)
- SSISJoost?(MVP, SSIS)
- Visakh16?(MVP, SSIS,SSAS,SSRS)
微軟已經(jīng)確認(rèn)這是一個(gè) Bug
更新自 2014年12月15日,看到微軟已經(jīng)確定了這是一個(gè) Bug,并且從 2008 R2 版本中就存在這個(gè) Bug 的。
更多 BI 文章請(qǐng)參看?BI 系列隨筆列表 (SSIS, SSRS, SSAS, MDX, SQL Server)? 如果覺(jué)得這篇文章看了對(duì)您有幫助,請(qǐng)幫助推薦,以方便他人在 BIWORK 博客推薦欄中快速看到這些文章。
轉(zhuǎn)載于:https://www.cnblogs.com/biwork/p/4024157.html
總結(jié)
以上是生活随笔為你收集整理的微软BI 之SSIS 系列 - MVP 们也不解的 Scrip Task 脚本任务中的一个 Bug的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android 数据存储路径
- 下一篇: 《计算机组成与体系结构:性能设计》读后小