Я медленно участвую в использовании Powershell и как новичок, пожалуйста, будьте легко на меня. Я создал сценарий Powershell, который сгенерировал бы инструкцию insert из нескольких файлов excel и сохранил бы ее в отдельных текстовых файлах. Как я могу использовать Powershell для выполнения текстовых файлов на SQL Server?Powershell: Как выполнить несколько файлов txt на SQL Server
ответ
Ваш комментарий действительно был очень полезным. Так как у меня нет GO заявления на мои текстовые файлы я использовал этот метод, который я производном от вашего @ShawnMelton
#Get list of files
$Files = Get-ChildItem 'C:\Users\Me\Documents\Test\*.txt'
try {
$Filename = $File.BaseName
foreach ($file in $files) {
Invoke-sqlcmd -ServerInstance "ServerName" -Database "Test" -InputFile $file -ErrorAction Stop
Write-Host -ForegroundColor Green "EXECUTED SuCCESSFULLY: " $filename
Move-Item $File "C:\Users\Me\Documents\Test\Executed"
}
}
catch {
Write-Host -ForegroundColor RED "FAILED TO EXECUTE: " $filename
}
Чтобы избежать путаницы, я передал все успешно исполняемые файлы на отдельной папке. Поэтому все неисполненные и не выполненные скрипты будут оставлены в основной папке.
Он будет основан на запросах, которые у вас есть в текстовых файлах. Если у них есть терминатор транзакций GO
, то вы ограничены использованием SMO для этого, потому что клиент .NET System.Data.SqlClient
не примет эту команду как хороший синтаксис. Это строго ограничитель для SSMS, а не истинный синтаксис SQL.
Я на самом деле был запрос для клиента, чтобы справиться с GO
, так что вы могли бы сделать что-то вроде этого:
$dbServer = MyServer
$ScriptDirectory = 'C:\scripts'
Import-Module SQLPS
$srv = New-Object Microsoft.SqlServer.Management.Smo.Server $dbServer
try {
$file = dir $ScriptDirectory
foreach ($f in $file) {
$s = Get-Content $f -Raw
$srv.ConnectionContext.ExecuteNonQuery($s);
}
}
catch {
$error[0].Exception
}
Если вы не имеете дело с GO
заявление и хотите использовать .NET способ you can check out an article published on SQLShack. В нем рассказывается, как установить соединение и выполнить его, а также немного коснуться использования PS с SQL Server.
- 1. Powershell - TXT поиск файлов
- 2. Как выполнить несколько открытых файлов?
- 3. Экспорт таблицы SQL Server в несколько файлов
- 4. Как выполнить несколько запросов в SQL Server?
- 5. Sql Server Compact Несколько файлов
- 6. Powershell хвост несколько файлов команды
- 7. Выполнить скрипт Sql из powershell
- 8. Выполнить querys для DBF файлов на SQL Server
- 9. анализ Автоматизировать на несколько файлов .txt
- 10. C# Как загрузить несколько файлов в базу данных SQL Server?
- 11. Восстановить несколько файлов SQL Server .bak
- 12. Как выполнить запрос SQL Server?
- 13. Разделить файл sql на несколько файлов с помощью powershell
- 14. Как импортировать txt в SQL Server?
- 15. Как выполнить большие SQL-файлы на SQL Server?
- 16. Как выполнить несколько пакетных файлов?
- 17. Powershell запускает несколько SQL-запросов
- 18. Запрос на обновление SQL Server Powershell
- 19. Powershell: создать несколько .txt из одного .txt с именами файлов из строки
- 20. Как сканировать несколько файлов txt одновременно?
- 21. Как сохранить вывод в несколько файлов txt?
- 22. Отсутствует оснастка SQL Server PowerShell, несмотря на установку SQL Server
- 23. Импорт txt в SQL Server
- 24. Скрипт Powershell для удаления файлов с 15-дневным временем .txt
- 25. Как написать несколько файлов txt в Python?
- 26. Powershell скрипт для запуска списка файлов SQL
- 27. Как конвертировать несколько RTF-файлов в TXT-файл
- 28. Как разделить несколько больших текстовых файлов в несколько файлов с помощью PowerShell
- 29. Авто импортировать много файлов .txt в таблицу sql server
- 30. вставки многих файлов .txt (ежедневно) в SQL Server 2008 таблицы
Нужна ли коробка передач? Он легко доступен через командную строку Windows. – qxg
Да @DaveSexton –