gpt4 book ai didi

visual-studio-2010 - SSIS 包在 VS 2010 中不可见

转载 作者:行者123 更新时间:2023-12-04 09:41:06 27 4
gpt4 key购买 nike

我们使用 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”

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

谢谢你的帮助!

肖恩

最佳答案

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

通常,我发现在开发人员之间“破坏”项目文件的是在组合中添加一个新包。看起来很简单,但无论出于何种原因,diff 实用程序在添加包时无法协调差异。如果我知道会有多个开发人员在开发 SSIS 解决方案,我发现最好先尝试创建一个占位符包,这样我们就不会让开发人员 A 将 MyFabulousPackage 添加到项目文件中,而开发人员 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
  • Visual Studio/BIDS/SSDT 将尝试将该包复制到本地文件夹
  • 该文件已经存在,而不是破坏它,它将使用 (number) 保存它添加到它

  • 这是有道理的,因为允许您选择包的窗口允许包位于包存储或 SQL Server 中。如果您注意到“添加现有软件包的副本”的标题栏,那就更是如此(说实话,直到今天我才注意到复制这个词,那是在使用该产品 8 年后)

    enter image description here

    你做什么工作?

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

    Add, Existing Item

    关于visual-studio-2010 - SSIS 包在 VS 2010 中不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15502567/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com