Tag: ssdt

从包内读取SSIS包文件名(包部署)

我使用Package Deployment模型在Visual Studio SSDT 2012中创建了一个SSIS包。 有没有办法从包中读取包的文件名作为只读变量或属性? 我没有看到它被列为系统变量,有没有办法可能通过脚本任务?

使用SSDT作为T4模板的源

我有一个SQL Server数据工具(SSDT)项目,它有许多存储过程,我想生成C#代码以使用T4调用它们。 这样做有没有现成的例子? 到目前为止,我可以创建一个每个proc的函数,但我真的希望能够利用SSDT创建的元数据,这样我就可以从中获取参数,数据类型和返回值,而不是进行字符串解析。

如何修复找不到的不兼容的SQL Server版本?

我正在使用VS 13刚刚安装了SQL Server 2014 Express,创建了一个新的数据库,当我去添加一个新表(在VS内)时,我收到以下错误: 发现不兼容的sql server版本 我该如何解决? 我是否应该找到VS所需的版本(如果是,如何?)并降级到所需的版本,或者我可以使用SQL Server 2014 Express解决它吗?

如何在DacServices.Deploy()中禁用预部署和部署后脚本

我们有一些自动dacpac部署代码,可以使用Microsoft.SqlServer.Dac正确处理C#中的CreateNewDatabase和简单的Update数据库方案 现在,在CreateNewDatabase的情况下,我们希望能够在禁用前置和后置部署脚本的情况下运行DacServices.Deploy() 。 即它们不应该在这种情况下执行。 我试图在DacDeployOptions和DacServices对象中找到合适的位置,但找不到任何可以执行此操作的地方.Ideally 问题1 : 我想要类似于DacDeployOptions.IgnorePreDeploymentScript = true有什么方法可以在运行时实现这一点吗? 作为替代方案,前段时间我记得看过示例代码,它展示了如何遍历dacpac并在运行时创建一个新的dacpac。 我认为这种方法可以让我简单地创建一个新的dacpac,我可以将其传递给Deploy,它将排除Pre和Post Deployment脚本。 我不喜欢这个解决方案,但它可以让我实现我所需要的。 问题2 : 有人可以为我指出一些例子吗? 我的代码: var dacService = new DacServices(ConstDefaultConnectionString); using (var dacPackage = DacPackage.Load(dacPacFilePath)) { var deployOptions = new DacDeployOptions { CreateNewDatabase = true, IncludeTransactionalScripts = false }; dacService.Deploy(dacPackage, TestDatabaseName, true, deployOptions); } 问题与以下内容有关: 创建LocalDB以便从Visual Studio SQL项目进行测试

无法在.aspx中的querystring中传递多个值以在运行时报告

这应该是简单的过程,但现在它变得烦人的问题。 我试图在VS2012中的ASP.Net Web报告中传递查询字符串中的多个值。 页面必须将多个值作为参数传递给报表。 当我发送单个值(例如:abc)时,数据正在被正确拉出但是当我传递由逗号分隔的多个值(例如abc,xyz)时,它不显示结果这些多个值由a分隔逗号作为查询字符串传递给页面,然后我们读取它们并将其传递给报表。 请注意: 对于报告中的参数,我设置了默认值列表,并且还定义了可用的值集。 现在,当我尝试从c#代码尝试将值传递给此参数时,它仍然不接受我提供的值,而是从可用列表中获取所有值。 我认为问题是当选中“允许多个值”复选框时,SSRS不接受用逗号分隔的值。 请指教。 这是我到目前为止所尝试的: ReportParameter pb1 = new ReportParameter(); if (!string.IsNullOrEmpty(Request.QueryString[“pm1”])) { pb1.Name = “PurchaseMaterial1”; string[] strPb1 = Server.UrlDecode(Request.QueryString[“pm1”]).Split(‘,’); string value = Server.UrlDecode(Request.QueryString[“pm1”]); if (strPb1.Length > 0) { int i = 0; value = “”; while (i < strPb1.Length) { if (value == string.Empty) { value = "'" […]

在SQL Server数据库项目构建期间使用错误的编译器

我有一个使用Visual Studio 2015编译SSDT SQL Server数据库项目的问题。我想在我的数据库项目中使用C#6function,但似乎它不受支持。 例如,我在我的db项目中添加了下一个类: namespace Database1 { class ClassFile1 { public string Str { get; } = string.Empty; } } 我试图编译这个,但我得到了错误: CS1519:类,结构或接口成员声明中的标记’=’无效 我发现这个错误的原因是VS 2015使用的编译器版本错误。下一个编译行由VS生成: C:\Windows\Microsoft.NET\Framework\v4.0.30319\Csc.exe /noconfig /nowarn:1701,1702,2008 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE /errorendlocation /preferreduilang:en-US /highentropyva+ /reference:”C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6\mscorlib.dll” /debug+ /debug:full /optimize- /out:obj\Debug\Database2.dll /subsystemversion:6.00 /target:library /warnaserror- /utf8output ClassFile1.cs 如您所见,使用C:\ Windows \ Microsoft.NET \ Framework […]

Visual Studio 2015 SQL Server数据工具缺少“添加表”选项

我已将一个localdb添加到我的项目并尝试向其添加表。 但我看不到菜单上的“添加表格”项目,只有“刷新”和“属性”项。 根据微软 SSDT即将预装VS2015,但没有选择添加新表。 我错过了什么吗?

使用Microsoft.Build.Evaluation发布数据库项目(.sqlproj)

我需要能够以编程方式发布SSDT项目。 我正在使用Microsoft.Build这样做,但找不到任何文档。 创建.dacpac似乎很简单,但是我如何发布到现有数据库或者至少发布到.sql文件。 我的想法是让它在我右键单击项目并选择发布时执行它所做的工作。 它应与选定的数据库进行比较并生成升级脚本。 这是我到目前为止创建的.dacpac: partial class DBDeploy { Project project; internal void publishChanges() { Console.WriteLine(“Building project ” + ProjectPath); Stopwatch sw = new Stopwatch(); sw.Start(); project = ProjectCollection.GlobalProjectCollection.LoadProject(ProjectPath); project.Build(); //at this point the .dacpac is built and put in the debug folder for the project sw.Stop(); Console.WriteLine(“Project build Complete. Total time: {0}”, sw.Elapsed.ToString()); […]