【发布时间】:2021-12-13 16:22:01
【问题描述】:
这是我找到的一个函数,但它给出了错误:“”找不到存储过程 'stp_CommaBulkInsert'。”
此函数创建表和键但不插入数据
你能帮帮我吗?
Function AutoImportCommaFlatFiles($location, $file, $extension, $server, $database)
{
$full = $location + $file + $extension
$all = Get-Content $full
$columns = $all[0]
$columns = $columns.Replace(" ","")
$columns = $columns.Replace(",","] VARCHAR(255) NULL, [")
$table = "CREATE TABLE " + $file + " ([" + $columns + "] VARCHAR(255))"
$connection = New-Object System.Data.SqlClient.SqlConnection
$buildTable = New-Object System.Data.SqlClient.SqlCommand
$insertData = New-Object System.Data.SqlClient.SqlCommand
$connection.ConnectionString = "Data Source=" + $server + ";Database=" + $database + ";integrated security=true"
$buildTable.CommandText = $table
$buildTable.Connection = $connection
## Added to function
$x = 0
$insertData.CommandText = "EXECUTE stp_CommaBulkInsert @1,@2"
$insertData.Parameters.Add("@1", $full)
$insertData.Parameters.Add("@2", $file)
$insertData.Connection = $connection
$connection.Open()
$buildTable.ExecuteNonQuery()
$connection.Close()
## Added to function
$x = 1
if ($x = 1)
{
$connection.Open()
$insertData.ExecuteNonQuery()
$connection.Close()
}
}
【问题讨论】:
-
错误信息是不言自明的。存储过程是否存在?您是否可能错过了架构名称?
-
另一种可能是 SQL 实例有区分大小写的排序规则,而 sproc 的名称与命令不完全匹配。
标签: sql database function powershell datatable