在办公室,我们使用 Visual Studio 2008 和 Team Foundation Server 作为我们的版本控制系统。
我们正在开发的产品基本上是Teradata SQL脚本和存储过程,可以通过自动调度程序部署在组织的 Teradata 数据库上运行。
我们遇到的问题:
每当我们需要修复缺陷或提供更改时,我们会检查代码,将其复制到另一个工具进行更改,然后一旦我们满意,我们会将其检入TFS。在Visual Studio中完成所有工作会很棒,但我们需要先找到一些解决方案:
当然可以以某种方式完成语法高亮和SQL执行,但我特别担心参数替换将成为阻塞,因为我从未听说过Visual Studio做过这样的事情。
我们如何使用参数替换:
对于参数替换,我们需要能够为我们的数据库名称使用参数(或任何文本),这样当我们执行SQL时,Visual Studio基本上替换了内部的参数我们所连接的数据源所需的代码,无论是开发,测试还是生产环境。
例如,我们可能有查询:
SELECT Client_Id, First_Name, Last_Name
FROM <<Client Database>>.Client_Names
当我们从Visual Studio执行它时,我们需要它来进行参数替换,所以在幕后,以下是实际发送到数据库服务器的内容:
SELECT Client_Id, First_Name, Last_Name
FROM Client.Client_Names
以同样的方式,如果我这样做:
SELECT '<<Client Database>>'
连接到生产服务器时会返回'Client'
的结果。
另一方面,如果我连接到开发服务器,它将返回'DevA_Client'
。
我们目前用来执行此操作的工具只是具有CSV文件中定义的值的参数(即Prod-params.csv
)。然后,工具中有一个设置,用于将Prod-params.csv
链接到生产数据源连接。此CSV文件的示例如下:
<<Client Database>>,Client
<<Order Database>>,Order
<<SomeHistoricDate>>,CAST('1997-05-28' AS DATE)
我希望有人能指出我能够在Visual Studio中完成任何这些工作的方向。
答案 0 :(得分:0)
您所描述的所有任务都可以通过编写Visual Studio AddIn包来完成,甚至是语法higligthing,但这不是一项简单的任务。无论如何,试着从这里开始:http://msdn.microsoft.com/en-us/library/bb166533.aspx。基本上你可以通过扩展VS来做任务,所以参数替换也应该很容易。此外,如果您的目标数据库有一个可用的.NET提供程序,那么最终执行查询应该是更简单的任务。