我正在尝试导入一些配置数据表以使用 SSIS、BIML 和 C# 执行动态暂存。最后,我想初始化表 ImportTable 以在 SSIS 中构建我的暂存环境。它向我抛出以下错误:
“初始化字符串的格式不符合从索引 0 开始的规范。”
我读到它可能与ConnectionString有关。我尝试使用空的ConnectionString,但发生了同样的错误。有人有一个想法如何摆脱错误/有替代解决方案。
感谢您的帮助和最诚挚的问候
我的代码:( 任务可能没有更大的意义)
<#@ import namespace="System.Data" #>
<#@ import namespace="System.Data.OleDb" #>
<#@ import namespace="System.Data.SqlClient" #>
<#@ template language="C#" tier="2" #>
<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<Connections>
<OleDbConnection Name="Source"
ConnectionString="Provider=SQLOLEDB;
Server=.\MSSQL17;
Initial Catalog=AdventureWorksDW2014;
Integrated Security=SSPI;" />
<OleDbConnection Name="Target_Meta"
ConnectionString="Provider=SQLOLEDB;
Server=.\MSSQL17;
Initial Catalog=BIMLMetaDaten;
Integrated Security=SSPI;" />
</Connections>
<#
OleDbDataAdapter ordAdapter = new OleDbDataAdapter("SELECT * FROM
ImportTable", "Target_Meta");
DataTable ImpTab = new DataTable();
ordAdapter.Fill(ImpTab, "ImportTable");
#>
<Packages>
<Package Name="002_Extractions" ConstraintMode="Parallel">
<Tasks>
<# foreach (DataRow row in ImpTab.Rows){ #>
<Container Name="<#= ImpTab.Columns["TableName"] #>"
ConstraintMode="Linear">
<Tasks>
<ExecuteSQL Name="truncate <#= ImpTab.Columns
["TableID"] #>_<#= ImpTab.Columns["TableName"] #>"
ConnectionName="Target_Meta" >
<DirectInput>
Select 1
</DirectInput>
</ExecuteSQL>
<Dataflow Name="copy <#= ImpTab.Columns["TableID"]
#>_<#= ImpTab.Columns["TableName"] #>">
</Dataflow>
</Tasks>
</Container>
<#} #>
</Tasks>
</Package>
</Packages>
</Biml>