Sql server 根据给定名称使用SSI传输SQL对象

Sql server 根据给定名称使用SSI传输SQL对象,sql-server,ssis,Sql Server,Ssis,假设我们有两个数据库,db_1和db_2 db_1中有一个名为“T1”的表,现在,我需要SSIS中的一个包,它将询问sql对象的名称。如果我选择“T1”,数据将传输到db_2 我不知道这是否可能 通常SSI不用于交互模式。任何用户输入要么作为配置设置或环境变量引入,要么作为其他表中的值引入 或者,您也可以在SSIS包之外提示并捕获输入值,然后在C#或ASP.Net或任何其他交互平台中执行SSIS包 这就是说,如果您必须提示输入并使用它,方法是在脚本组件中实例化并显示表单 在包中名为tableNa

假设我们有两个数据库,db_1和db_2

db_1中有一个名为“T1”的表,现在,我需要SSIS中的一个包,它将询问sql对象的名称。如果我选择“T1”,数据将传输到db_2


我不知道这是否可能

通常SSI不用于交互模式。任何用户输入要么作为配置设置或环境变量引入,要么作为其他表中的值引入

或者,您也可以在SSIS包之外提示并捕获输入值,然后在C#或ASP.Net或任何其他交互平台中执行SSIS包

这就是说,如果您必须提示输入并使用它,方法是在脚本组件中实例化并显示表单

在包中名为
tableName
的适当范围内创建一个变量。然后使用下面的代码(根据需要修改)将
tableName
变量的值设置为用户输入的值。最后,在控制流中使用相同的
tableName
变量从中复制数据

System.Windows.Forms.Form frm = new Form();
TextBox      = new TextBox();
Button submitButton = new Button();

public void Main()
{
    submitButton.Text = "Enter source table name";
    submitButton.Width = 300;
    submitButton.Height = 80;
    submitButton.Click += new EventHandler(submitButton_Click);
    tableNameTextBox.Name = "Input";
    frm.Controls.Add(tableNameTextBox);
    frm.Controls.Add(submitButton);
    frm.ShowDialog();
    MessageBox.Show(Dts.Variables["tableName"].Value.ToString());


    Dts.TaskResult = (int)ScriptResults.Success;
}

void submitButton_Click(object sender, EventArgs e)
{
    Dts.Variables["tableName"].Value = tableNameTextBox.Text;
    frm.Close();
}

参考:

通常SSI不用于交互模式。任何用户输入要么作为配置设置或环境变量引入,要么作为其他表中的值引入

或者,您也可以在SSIS包之外提示并捕获输入值,然后在C#或ASP.Net或任何其他交互平台中执行SSIS包

这就是说,如果您必须提示输入并使用它,方法是在脚本组件中实例化并显示表单

在包中名为
tableName
的适当范围内创建一个变量。然后使用下面的代码(根据需要修改)将
tableName
变量的值设置为用户输入的值。最后,在控制流中使用相同的
tableName
变量从中复制数据

System.Windows.Forms.Form frm = new Form();
TextBox      = new TextBox();
Button submitButton = new Button();

public void Main()
{
    submitButton.Text = "Enter source table name";
    submitButton.Width = 300;
    submitButton.Height = 80;
    submitButton.Click += new EventHandler(submitButton_Click);
    tableNameTextBox.Name = "Input";
    frm.Controls.Add(tableNameTextBox);
    frm.Controls.Add(submitButton);
    frm.ShowDialog();
    MessageBox.Show(Dts.Variables["tableName"].Value.ToString());


    Dts.TaskResult = (int)ScriptResults.Success;
}

void submitButton_Click(object sender, EventArgs e)
{
    Dts.Variables["tableName"].Value = tableNameTextBox.Text;
    frm.Close();
}

参考:

您的主题和要求似乎有所不同。是否要传输对象(表/视图/Fn)或数据?您的主题和要求似乎有所不同。是否要传输对象(表/视图/Fn)或数据?