SSIS包在VS 2010中不可见

时间:2013-03-19 14:43:25

标签: visual-studio-2010 ssis tfs2012

我们使用VS 2010(BIDS),SQL 2012和TFS。我们有两个项目的解决方案。一个用于ETL,另一个用于报告。 ETL项目最近促使我在.dtproj项目文件的服务器上保存/合并不同的版本。我假设版本号比我想要的文件大。它促使我对目前解决方案中的其他项目做同样的事情。见附件。我没有这样做,因为它最后一次搞砸了我的环境!我确信这是100%我对TFS缺乏了解。话虽如此,我不知道该读什么/研究什么来教育自己不再搞砸它。

当我点击“获取服务器版本”链接时,它会提示我一个对话框,其中包含以下内容:

“文件project.dtproj已在源编辑器外修改...”

你想:

Save AS 
Save 
Cancel 
Ignore 

我点击了“另存为”。然后,当我意识到我最终会得到两个DTproj文件时,一个与解决方案绑定而另一个没有,我点击取消。

这是一切都出错了。

在我点击取消并在VS2010中重新加载项目后,我的软件包在VS 2012的SSIS包文件夹中看不到。它们在TFS中(我在源代码浏览器中看到它们)。它们在FS上(我在Windows资源管理器中看到它们)。

然而,我所做的一切似乎都没有让他们回到项目中。

如果我尝试添加现有软件包并在文件系统上浏览它,我会在项目中获取该文件,但它显示为该文件的副本。我在文件系统上看到新文件和原始文件,项目中出现的新文件名为“Project(1).dtsx”

如何让我的项目恢复正常?

感谢您的帮助!

肖恩

1 个答案:

答案 0 :(得分:17)

.dtproj文件只是XML,用于指定构成项目的文件。每个版本的格式与另一个版本略有不同,但并不是特别复杂。

通常,我发现在开发人员之间“打破”项目文件是在混合中添加一个新包。看起来很简单,但无论出于何种原因,diff实用程序无法在添加包时协调差异。如果我知道会有多个开发人员在开发SSIS解决方案,我发现最好先尝试创建一个占位符包,这样我们就没有Dev A将MyFabulousPackage添加到项目文件中,而Dev B已经同时添加了OutrageouslyGoodPackage时间。相反,每个人都有相同的项目文件,然后他们的工作是修复他们的焦点区域的内容。

示例.dtproj

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <DeploymentModel>Project</DeploymentModel>
  <ProductVersion>11.0.2100.60</ProductVersion>
  <SchemaVersion>9.0.1.0</SchemaVersion>
  <State>$base64$P...g==</State>
  <Database>
    <Name>SSISFoo.database</Name>
    <FullPath>SSISFoo.database</FullPath>
  </Database>
  <DataSources />
  <DataSourceViews />
  <DeploymentModelSpecificContent>
    <Manifest>
      <SSIS:Project SSIS:ProtectionLevel="DontSaveSensitive" xmlns:SSIS="www.microsoft.com/SqlServer/SSIS">
        <SSIS:Properties>
          <SSIS:Property SSIS:Name="ID">{83ded95e-49f0-4781-ab8f-7f8954d6423a}</SSIS:Property>
          <SSIS:Property SSIS:Name="Name">SSISFoo</SSIS:Property>
          <SSIS:Property SSIS:Name="VersionMajor">0</SSIS:Property>
          <SSIS:Property SSIS:Name="VersionMinor">0</SSIS:Property>
          <SSIS:Property SSIS:Name="VersionBuild">0</SSIS:Property>
          <SSIS:Property SSIS:Name="VersionComments">
          </SSIS:Property>
          <SSIS:Property SSIS:Name="CreationDate">2013-03-19T10:24:18.8594643-05:00</SSIS:Property>
          <SSIS:Property SSIS:Name="CreatorName">home\bfellows</SSIS:Property>
          <SSIS:Property SSIS:Name="CreatorComputerName">Thangorodrim</SSIS:Property>
          <SSIS:Property SSIS:Name="Description">
          </SSIS:Property>
          <SSIS:Property SSIS:Name="FormatVersion">1</SSIS:Property>
        </SSIS:Properties>
        <SSIS:Packages>
          <SSIS:Package SSIS:Name="Package.dtsx" SSIS:EntryPoint="1" />
        </SSIS:Packages>
        <SSIS:ConnectionManagers />
        <SSIS:DeploymentInfo>
          <SSIS:ProjectConnectionParameters />
          <SSIS:PackageInfo>
            <SSIS:PackageMetaData SSIS:Name="Package.dtsx">
              <SSIS:Properties>
                <SSIS:Property SSIS:Name="ID">{3BEEFDD8-FB86-4804-9049-EB28C4BD69DD}</SSIS:Property>
                <SSIS:Property SSIS:Name="Name">Package</SSIS:Property>
                <SSIS:Property SSIS:Name="VersionMajor">1</SSIS:Property>
                <SSIS:Property SSIS:Name="VersionMinor">0</SSIS:Property>
                <SSIS:Property SSIS:Name="VersionBuild">1</SSIS:Property>
                <SSIS:Property SSIS:Name="VersionComments">
                </SSIS:Property>
                <SSIS:Property SSIS:Name="VersionGUID">{3087F645-C4C4-4773-8040-E2DAFFE8B922}</SSIS:Property>
                <SSIS:Property SSIS:Name="PackageFormatVersion">6</SSIS:Property>
                <SSIS:Property SSIS:Name="Description">
                </SSIS:Property>
                <SSIS:Property SSIS:Name="ProtectionLevel">0</SSIS:Property>
              </SSIS:Properties>
              <SSIS:Parameters />
            </SSIS:PackageMetaData>
          </SSIS:PackageInfo>
        </SSIS:DeploymentInfo>
      </SSIS:Project>
    </Manifest>
  </DeploymentModelSpecificContent>
  <Miscellaneous />
  <Configurations>
    <Configuration>
      <Name>Development</Name>
      <Options>
        <OutputPath>bin</OutputPath>
        <ConnectionMappings />
        <ConnectionProviderMappings />
        <ConnectionSecurityMappings />
        <DatabaseStorageLocations />
        <ParameterConfigurationValues />
      </Options>
    </Configuration>
  </Configurations>
</Project>

您正在经历的

您在使用“Package(1).dtsx”时遇到的问题是将现有软件包添加到项目中。单击“添加现有包”并在项目文件夹

中选择“Package.dtsx”时

Add Existing package

  1. Visual Studio / BIDS / SSDT将尝试将该软件包复制到本地文件夹
  2. 该文件已经存在,而不是破坏它,它会在添加(number)的情况下保存它
  3. 这是有道理的,因为允许您选择包的窗口允许包在Package Store或SQL Server中。如果您注意到“添加复制现有包裹”的标题栏(事实上,请注意,我从未注意到复制词直到今天和使用该产品8年后)

    enter image description here

    你做什么?

    不要“添加现有包”。而是右键单击项目和“添加,现有项目”,这将恰好是您现有的SSIS包。

    Add, Existing Item