我想对数据流中的每一行执行SQL语句,因此我在数据流中使用脚本组件(而非脚本任务)。 我尝试了如下代码,但无法编译。
using (SqlConnection connection = this.Connections.Connection.AcquireConnection(null) as SqlConnection)
{
using (SqlCommand command = connection.CreateCommand())
{
command.CommandText = "SELECT [Value] FROM dbo.MyTable";
command.CommandType = CommandType.Text;
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
ProfanityWords.Add(reader.GetValue(0).ToString());
}
}
}
this.Connections.Connection.ReleaseConnection(connection);
}
答案 0 :(得分:2)
您是否在脚本组件上添加了对连接管理器的引用?这可以通过在脚本组件的“连接管理器”选项卡上添加ADO.NET连接管理器来完成。此后,可以按以下方式访问它。下面的示例是代码的修改版本,其中MyConnection
是脚本组件GUI上给连接管理器的名称。
using (SqlConnection connection = this.Connections.MyConnection.AcquireConnection(null) as SqlConnection)
{
using (SqlCommand command = connection.CreateCommand())
{
command.CommandText = "SELECT [Value] FROM dbo.MyTable";
command.CommandType = CommandType.Text;
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
ProfanityWords.Add(reader.GetValue(0).ToString());
}
}
}
this.Connections.MyConnection.ReleaseConnection(connection);
}