Есть файл SubnetForm.ps1 в котором следующий код:
$ipStart = "10.62.39.1"
$ipEnd = "10.62.39.3"
Connect-DB
for ($x = $ipStart; $x -le $ipEnd; $x++)
{
$ip = ([System.Net.IPAddress]$x).GetAddressBytes()
[Array]::Reverse($ip)
$ip = $ip -join '.'
$commandDB = "INSERT INTO public.ip_addresses (ip_range) VALUES ('$ip'::inet);"
Write-Host $commandDB
Insert-DB -commandDB $commandDB
}
Есть второй файл в котором имеется функция соединения с БД и записи в БД:
# функция соединения с БД
function Connect-DB
{
[CmdletBinding()]
param
(
[Parameter(Mandatory)]
[string]$dbServer = 'localhost',
[string]$dbName = 'postgres',
[string]$dbUser = 'postgres',
[string]$dbPass = 'postgres',
[string]$port = '5432'
)
$connect = "Driver={PostgreSQL UNICODE(x64)};Server=$dbServer;Port=$port;Database=$dbName;Uid=$dbUser;Pwd=$dbPass;"
$cnDB = New-Object System.Data.Odbc.OdbcConnection($connect)
$dsDB = New-Object System.Data.DataSet
$cnDB.Open()
}
function Insert-DB
{
[CmdletBinding()]
param (
$commandDB
)
$adDB = New-Object System.Data.Odbc.OdbcDataAdapter
$adDB.SelectCommand = New-Object System.Data.Odbc.OdbcCommand($commandDB, $cnDB)
$adDB.Fill($dsDB) | out-null
}
При запуске кода появляются ошибки:
INSERT INTO public.ip_addresses (ip_range) VALUES ('10.62.39.1'::inet);
ERROR: Обнаружено несколько неоднозначных перегрузок для "Fill", число аргументов: "1".
ERROR: C:\Users\062User\Documents\SAPIEN\PowerShell Studio\Projects\SFR-Management\SFR-Management.Run.ps1:430 знак:3
ERROR: + $adDB.Fill($dsDB) | out-null
ERROR: + ____________________________
ERROR: + CategoryInfo : NotSpecified: (:) [], MethodException
ERROR: + FullyQualifiedErrorId : MethodCountCouldNotFindBest
ERROR:
INSERT INTO public.ip_addresses (ip_range) VALUES ('10.62.39.2'::inet);
ERROR: Обнаружено несколько неоднозначных перегрузок для "Fill", число аргументов: "1".
ERROR: C:\Users\062User\Documents\SAPIEN\PowerShell Studio\Projects\SFR-Management\SFR-Management.Run.ps1:430 знак:3
ERROR: + $adDB.Fill($dsDB) | out-null
ERROR: + ____________________________
ERROR: + CategoryInfo : NotSpecified: (:) [], MethodException
ERROR: + FullyQualifiedErrorId : MethodCountCouldNotFindBest
ERROR:
INSERT INTO public.ip_addresses (ip_range) VALUES ('10.62.39.3'::inet);
ERROR: Обнаружено несколько неоднозначных перегрузок для "Fill", число аргументов: "1".
ERROR: C:\Users\062User\Documents\SAPIEN\PowerShell Studio\Projects\SFR-Management\SFR-Management.Run.ps1:430 знак:3
ERROR: + $adDB.Fill($dsDB) | out-null
ERROR: + ____________________________
ERROR: + CategoryInfo : NotSpecified: (:) [], MethodException
ERROR: + FullyQualifiedErrorId : MethodCountCouldNotFindBest