我正在使用VS 2012与SQL Server 2012和BIML。 我想生成一个" main"包含几个包的包,非常简单。 这是我正在使用的代码,它包含c#代码,它只是在DB上执行查询以检索表的名称(由具有相同名称的包生成)。 我在没有c#代码的情况下测试了代码(使用一个外部软件包),它正在运行...... 有人可以帮我吗?
提前致谢!!
<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<Packages>
<Package Name="Test" ConstraintMode="Linear">
<# string MyConnectionString ="Data Source=(localdb)\\mssqllocaldb;Initial Catalog=DB1;Provider=SQLNCLI11.1;Persist Security Info=True;Auto Translate=False; Integrated Security=SSPI" ;
string SourceTableName;
DataTable MyDataTable;
MyDataTable = ExternalDataAccess.GetDataTable(MyConnectionString,"SELECT t.TABLE_NAME FROM INFORMATION_SCHEMA.TABLES t WHERE t.TABLE_SCHEMA = 'dbo' AND t.TABLE_TYPE ='Base Table' AND t.TABLE_NAME='Table1'");
foreach(DataRow row in MyDataTable.Rows)
{
SourceTableName = row["TABLE_NAME"].ToString().ToUpper() ;
#>
<Tasks>
<ExecutePackage Name="Test">
<ExternalProjectPackage Package="<#SourceTableName#>.dtsx"/>
</ExecutePackage>
</Tasks>
<# } #>
</Package>
</Packages>
</Biml>
<!--Directives:-->
<#@ template language ="C#" tier ="2" #>
<#@ import namespace="System.Data" #>
<#@ import namespace="Varigence.Biml.CoreLowerer.SchemaManagement" #>
&#13;
答案 0 :(得分:1)
看起来你的片段中缺少一个等号:
将<#SourceTableName#>.dtsx
更改为<#=SourceTableName#>.dtsx