我一直在研究一个简单的 BIML 解决方案,以开始学习如何使用它。我不断收到一条错误消息:
对于此方法,提供的连接必须是 AstDbConnectionNode 类型。在 Varigence.Biml.Extensions.ExternalDataAccess.GetDatabaseSchema 中:第 0 行
我一直在寻找和尝试不同的解决方案,但还没有找到答案。所以,我转向这里的每个人。我需要另一双眼睛,这样我才能弄清楚我做错了什么。
我的第一个 BIML 文件在我的本地机器上设置了与 World Wide Importers 的连接。
<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<#@ template language = "C#" tier="0" #>
<Connections>
<OleDbConnection
Name="src"
ConnectionString="Data Source=localhost\SQL16;Initial Catalog=WorldWideImporters;Provider=SQLNCLI11.1;Integrated Security=SSPI;"
CreateInProject = "true">
</OleDbConnection>
</Connections>
<Databases>
<Database Name="src" ConnectionName = "src" />
</Databases>
第二个 BIML 文件是引发错误的原因
<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<#@ template language = "C#" tier = "1" #>
<#@ import namespace="Varigence.Biml.CoreLowerer.SchemaManagement" #>
<# var srcDB = RootNode.OleDbConnections["src"]; #>
<# var WWIdb = srcDB.GetDatabaseSchema(ImportOptions.ExcludeViews); #>
<Packages>
<# foreach (var table in WWIdb.TableNodes) { #>
<Package Name="<#=table.Schema#>_<#=table.Name#>" ConstraintMode="Linear">
<Tasks>
<Dataflow Name="DF Copy <#=table.Name#>">
</Dataflow>
</Tasks>
</Package>
<# } #>
</Packages>
</Biml>