3
我有使用SSIS进行版本控制的问题。当我编写脚本组件时,它会作为二进制文件检入版本控制,而不是C#文件(尽管这是可以理解的)。因此,下次我在脚本组件的C#文件中进行更改时,我无法看到代码中的差异。SSIS中脚本组件C#文件的版本控制
有没有办法解决这个问题? 你们对此有何看法?
感谢, Vaibhav的
我有使用SSIS进行版本控制的问题。当我编写脚本组件时,它会作为二进制文件检入版本控制,而不是C#文件(尽管这是可以理解的)。因此,下次我在脚本组件的C#文件中进行更改时,我无法看到代码中的差异。SSIS中脚本组件C#文件的版本控制
有没有办法解决这个问题? 你们对此有何看法?
感谢, Vaibhav的
所有SSIS包我目前正与合作的(2008 SSIS)商店脚本组件代码直接.dtsx程序文件中(这些都只是XML文件)。也就是说,您可以使用文本比较工具(Visual Studio Compare,WinMerge,BIDS Helper Smart Diff)来比较.dtsx文件。虽然这可能不是最干净的方法,但它确实可以让你看到版本之间的差异。
下面是我直接从.dtsx程序文件与脚本组件拉(C#存储为CDATA)一个片断:
<component id="4829" name="ExecuteQuery" componentClassID="{2E42D45B-F83C-400F-8D77-61DDE6A7DF29}" description="Executes a custom script." localeId="-1" usesDispositions="false" validateExternalMetadata="True" version="4" pipelineVersion="0" contactInfo="Executes a custom script.;Microsoft Corporation; Microsoft SqlServer v10; © 2007 Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;4">
<properties>
<property id="4833" name="SourceCode" dataType="System.String" state="cdata" isArray="true" description="Stores the source code of the component" typeConverter="" UITypeEditor="" containsID="false" expressionType="None"><arrayElements arrayElementCount="18"><arrayElement dataType="System.String"><![CDATA[\main.cs]]></arrayElement><arrayElement dataType="System.String"><![CDATA[/* Microsoft SQL Server Integration Services Script Component
* Write scripts using Microsoft Visual C# 2008.
* ScriptMain is the entry point class of the script.*/
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
using Microsoft.SqlServer.Dts.Runtime.Wrapper;
using Teradata.Client.Provider;
[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute]
public class ScriptMain : UserComponent
{
private TdConnection tdCn;
private TdCommand tdCmd;
private TdDataReader tdRdr;
雅我认为这是唯一的选择,截至目前。在标记这个之前,我会等待更多的答案。谢谢 ! –