У меня есть сценарий PowerShell, который выполняет файл SQL (который содержит команды для экспорта данных из файла XML в таблицу базы данных SQL Server) в сценарии PowerShell:
Function Export-Data
{
$srvrInst = $env:COMPUTERNAME;
$db = "DataModel.PAModel";
$apc = "C:\DCT\SQL\AccountingPeriodCases.sql";
Invoke-Sqlcmd -InputFile $apc -ServerInstance $srvrInst -Database $db;
}
Export-Data;
У меня есть требование вызоваэтот файл Smpl.ps1 из кода WPF-C #.То есть, когда флажок, соответствующий экспорту данных, установлен, то этот Smpl.ps1 должен быть вызван и выполнен.
Итак, у меня есть фрагмент кода C #:
int DataBox_Execute()
{
Runspace rs = RunspaceFactory.CreateRunspace();
rs.ThreadOptions = PSThreadOptions.UseCurrentThread;
rs.Open();
int k = 0;
PowerShell ps = PowerShell.Create();
if (DataBox.IsChecked ?? true)
{
ps.Runspace = rs;
ps.AddScript(@"C:\DCT\LogCapture\Smpl.ps1").Invoke();
k = 1;
}
rs.Close();
return k;
}
Но яне понимаю, почему это не выполняется.Когда я возвращаюсь и проверяю базу данных сервера SQL, таблица, в которой должны были быть данные, остается пустой.
Я уверен, что скрипт работает нормально, потому что когда я пытаюсь выполнить скрипт только через PowerShellзатем таблица базы данных SQL кажется заполненной экспортированными значениями из файла xml, так как я хотел, чтобы он работал.
, поэтому я хотел бы знать, если что-то не так с программной частью в WPF-C #.Кто-нибудь может помочь ребятам?