Как Циклично выполнить Datareader и создать DataTable в Powershell

Пожалуйста, имейте в виду, что создатель ngx-translate сейчас работает в основной команде Angular i18n, и в рамках Angular 5.x работает над тем, чтобы сделать i18n намного лучше. Например. сервис перевода, переключение времени выполнения перевода в AOT и многое другое.

См. Здесь: https://github.com/angular/angular/issues/11405#issuecomment-343933617

Так что я бы рекомендовал придерживаться Angular вне Коробка i18n.

Для веб-сайта моей компании мы используем Text United для переводов, и это работает довольно хорошо. Единственная проблема, с которой мы столкнулись, заключается в том, что по умолчанию теги HTML попадают в инструменты перевода. Наше решение:

  • с использованием XTB
  • В Text United с использованием пользовательского анализатора XML. Исключить ph элементов.

У Text United есть платные варианты, чтобы нанять переводчиков для выполнения работы за вас на любом языке. Конечно, вы можете сделать это и сами. Каждый раз, когда вы просто загружаете исходный язык, и он соответствует уже переведенным элементам.

6
задан Joey 26 July 2009 в 16:20
поделиться

2 ответа

Translating Mladen's answer into PowerShell is pretty straight forward:

$sqlConnection = new-object System.Data.SqlClient.SqlConnection "server=localhost;database=Demo;Integrated Security=sspi"
$sqlConnection.Open()

#Create a command object
$sqlCommand = $sqlConnection.CreateCommand()
$sqlCommand.CommandText = "EXEC Demo.usp_GetTableValueParameter_Data"

#Execute the Command
$sqlReader = $sqlCommand.ExecuteReader()

$Datatable = New-Object System.Data.DataTable
$DataTable.Load($SqlReader)

# Close the database connection
$sqlConnection.Close()

#STARTING OPENXML PROCESS
#----------------------------
$xlsFile = "C:\Temp\Data.xlsx"
$datatable | Export-OpenXmlSpreadSheet -OutputPath $xlsFile  -InitialRow 3

However, if you just need a DataTable back, you don't need to call ExecuteReader on the command, you could create a DataAdapter and use that to fill the DataTable:

$sqlConnection = new-object System.Data.SqlClient.SqlConnection "server=localhost;database=Demo;Integrated Security=sspi"
$sqlConnection.Open()

#Create a command object
$sqlCommand = $sqlConnection.CreateCommand()
$sqlCommand.CommandText = "EXEC Demo.usp_GetTableValueParameter_Data"

$adapter = New-Object System.Data.SqlClient.SqlDataAdapter $sqlcommand
$dataset = New-Object System.Data.DataSet

$adapter.Fill($dataSet) | out-null

# Close the database connection
$sqlConnection.Close()

$datatable = $dataset.Tables[0]  

#STARTING OPENXML PROCESS
#----------------------------
$xlsFile = "C:\Temp\Data.xlsx"
$datatable | Export-OpenXmlSpreadSheet -OutputPath $xlsFile  -InitialRow 3
15
ответ дан 8 December 2019 в 13:01
поделиться

Я понятия не имею, как это сделать в PowerShell, но в .net вы делаете это так:

DataTable dt = new DataTable();
dt.Load(yourSqlReader);
3
ответ дан 8 December 2019 в 13:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: