не может вставить данные в базу данных SQL - PullRequest
1 голос
/ 01 октября 2019

Согласно моим исследованиям, мы можем использовать команду powershell Write-SqlTableData для импорта данных в базу данных SQL. Когда я запускаю команду, я получаю сообщение об ошибке «Не удается получить доступ к таблице назначения». Кажется, у меня недостаточно разрешений. Но я использую учетную запись администратора SQL.

$data = import-csv 'D:\data.csv'
rite-SqlTableData -TableName $mytableNmae -ServerInstance $myservername -DatabaseName $mydbname -SchemaName dbo -Credential $mycreds -InputData $data -Force

1 Ответ

2 голосов
/ 02 октября 2019

Согласно моему тесту, мы не можем использовать команду Write-SqlTableData для импорта файла CSV в Azure SQL, и мы просто можем использовать его для импорта файла CSV в локальный SQL enter image description here

Поэтому, если вы хотите импортировать CSV-файл в Azure SQL с помощью powershell, вы можете использовать команду Invoke-SQLCmd для вставки записи по одной. Например:

$Database   = ''

$Server     = '.database.windows.net'

$UserName   = ''

$Password   = ''

$CSVFileName = ''

 $text = "CREATE TABLE [dbo].[Colors2](
    [id] [int] NULL,
    [value] [nvarchar](30) NULL
) "
Invoke-SQLCmd -ServerInstance  $Server  -Database $Database -Username $UserName -Password $Password -Query $text

 $CSVImport = Import-CSV -Path $CSVFileName
 ForEach ($CSVLine in $CSVImport){

 $Id =[int] $CSVLine.Id
 $Vaule=$CSVLine.value
 $SQLInsert = "INSERT INTO [dbo].[Colors2] (id, value)
VALUES('$Id', '$Vaule');"
 Invoke-SQLCmd -ServerInstance  $Server  -Database $Database -Username $UserName -Password $Password -Query $SQLInsert


 }


Invoke-SQLCmd -ServerInstance  $Server  -Database $Database -Username $UserName -Password $Password -Query "select * from [dbo].[Colors2]"

Кроме того, вы также можете использовать другие способы (например, BULK INSERT) для его реализации. Для получения дополнительной информации, пожалуйста, обратитесь к https://docs.microsoft.com/en-us/sql/relational-databases/import-export/import-data-from-excel-to-sql?view=azuresqldb-current.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...