gpt4 book ai didi

ssis - 提供的连接必须是 AstDbConnectionNode 类型

转载 作者:行者123 更新时间:2023-12-02 03:06:45 25 4
gpt4 key购买 nike

我一直在研究一个简单的 BIML 解决方案,以开始学习如何使用它。我不断收到错误消息:

Supplied connections must be of type AstDbConnectionNode for this method. at Varigence.Biml.Extensions.ExternalDataAccess.GetDatabaseSchema in :line 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>

最佳答案

调用 GetDatabaseSchema 时会产生误导性错误,我说这是误导性的,因为根本问题是 srcDB 为空。通过在您的第二个 Biml 文件中使用此代码来亲自查看。

<#@ import namespace="System.Windows.Forms" #>
<#@ assembly name= "C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Windows.Forms.dll" #>
<# var srcDB = RootNode.OleDbConnections["ConnectionDoesNotExist"]; #>
<#
if (srcDB == null)
{
MessageBox.Show("It's null");
}
else
{
MessageBox.Show("It's not null - {0}", srcDB.Name);
}
#>

根问题

您正在访问连接集合中不​​存在的对象 - 可能是因为当您的分层正确时,您需要在构建时“包含”所有文件。

你是如何解决这个问题的?

如果您使用 BimlExpressBIDS Helper然后你只需要在解决方案菜单中选择file1.biml和file2.biml并右键单击生成包。

如果您使用 Mist/BimlStudio ,然后我只需右键单击 file1.biml 并将其更改为 Convert to Live BimlScript。

关于ssis - 提供的连接必须是 AstDbConnectionNode 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42229549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com