我对版本控制比较陌生,到目前为止只有使用TortoiseSVN/VisualSVN使用Subversion的经验.我一直在阅读其他类型的VCS(git,mercurial等),并且正在考虑尝试它们 - 但是,许多支持或反对特定VCS的论据似乎主要归结为主观偏好,所以我'我可能会给每个人看一看.
考虑到这样做,我想知道在理论上是否可以在单个代码库上使用多个VCS.哪些(如果有的话)VCS组合可能是这种可能性?如果可能的话,它会在多大的后勤噩梦中试图兼顾各自的排除名单?
这样做的一个可能的理由可能是备份冗余.一些VCS提供程序(Beanstalk,Github,Bitbucket)提供了一个免费存储库,因此您可以在几个不同的位置免费备份相同的repo.
我有许多与此结构类似的存储过程:
DECLARE @sql NVARCHAR(MAX)
DECLARE @mdx NVARCHAR(MAX)
CREATE table #result
(
[col1] NVARCHAR(50),
[col2] INT,
[col3] INT
)
SET @mdx = '{some dynamic MDX}'
SET @sql = 'SELECT a.* FROM OpenQuery(LinkedAnalysisServer, ''' + @mdx + ''') AS a'
INSERT INTO #result
EXEC sp_executesql @sql
SELECT * FROM #result
Run Code Online (Sandbox Code Playgroud)
当多维数据集中存在结果时,这非常有效。但是,当 OpenQuery 结果为空时,INSERT 会失败并显示以下错误:
列名或提供的值数量与表定义不匹配。
我的问题是,处理这种情况的最佳方法是什么?我在静态报告文件 (.rdlc) 中使用结果,因此(我很确定)需要显式键入临时表。