gpt4 book ai didi

sql-server - 如何使用 PowerShell 从 SQL Server 中的 .csv 导入数据?

转载 作者:行者123 更新时间:2023-12-03 14:17:41 24 4
gpt4 key购买 nike

我正在使用 PowerShell,并且必须将 .csv 文件中的数据导入到 SQL Server 数据库上已创建的表中。所以我不需要 csv 的标题行,只需写入数据即可。
这是我到目前为止所做的:

#Setup for SQL Server connection
#SQL Server Name
$SQLServer = "APPLIK02\SQLEXPRESS"
#Database Name
$SQLDBName = "code-test"

#Create the SQL Connection Object
$SQLConn = New-Object System.Data.SQLClient.SQLConnection
#Create the SQL Command Object, to work with the Database
$SQLCmd = New-Object System.Data.SQLClient.SQLCommand

#Set the connection string one the SQL Connection Object
$SQLConn.ConnectionString = "Server=$SQLServer;Database=$SQLDBName; Integrated Security=SSPI"
#Open the connection
$SQLConn.Open()

#Handle the query with SQLCommand Object
$SQLCmd.CommandText = $query
#Provide the open connection to the Command Object as a property
$SQLCmd.Connection = $SQLConn

#Execute
$SQLReturn=$SQLCmd.ExecuteReader()

Import-module sqlps
$tablename = "dbo."+$name

Import-CSV .\$csvFile | ForEach-Object Invoke-Sqlcmd
-Database $SQLDBName -ServerInstance $SQLServer
#-Query "insert into $tablename VALUES ('$_.Column1','$_.Column2')"
#Close
$SQLReturn.Close()
$SQLConn.Close()

最佳答案

我写了一篇关于在 PowerShell 中使用 SQL 的博文,所以你可以 read more about it here .

如果您有可用的 SQL-PS 模块,我们可以轻松地做到这一点。只需为您的数据库名称、服务器名称和表提供值,然后运行以下命令:

$database = 'foxdeploy'
$server = '.'
$table = 'dbo.powershell_test'

Import-CSV .\yourcsv.csv | ForEach-Object {Invoke-Sqlcmd `
-Database $database -ServerInstance $server `
-Query "insert into $table VALUES ('$($_.Column1)','$($_.Column2)')"
}

为了清楚起见,请将 Column1、Column2 替换为 CSV 中的列名。

不过,请确保您的 CSV 中的值与 SQL DB 的格式相同,否则您可能会遇到错误。

运行此程序时,您将看不到控制台的任何输出。我建议事后查询以确保您的值被接受。

关于sql-server - 如何使用 PowerShell 从 SQL Server 中的 .csv 导入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29539179/

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