이전에 이런 질문이 있었지만 여기 또는 인터넷에서 아무것도 찾을 수 없습니다. PowerShell을 사용하여 oracle 데이터베이스를 쿼리하려고하는데, null 값에 도달 할 때까지 확인한 다음 불면.powershell에서 nulls 처리하기
여기 내 코드입니다.
# Create a datareader for a SQL statement
$sql="select * from legacydb.ebt_invoice_dtl where premnum = 397743"
$command = New-Object Oracle.DataAccess.Client.OracleCommand($sql,$conn)
$reader=$command.ExecuteReader()
# Write out the result set structure
for ($i=0;$i -lt $reader.FieldCount;$i++) {
Write-Host $reader.GetName($i) $reader.GetDataTypeName($i)
}
# Write out the results
while ($reader.read()) {
$dtl_id=$reader.GetDecimal(0)
$invoice_id=$reader.GetDecimal(1)
$debtor=$reader.GetInt64(2)
$premise=$reader.GetInt64(3)
$license=$reader.GetString(4)
$invoice_num=$reader.GetInt64(5)
$deb_cred=$reader.GetString(6)
$inv_ref=$reader.GetString(7)
$rate=$reader.GetDecimal(8)
$charge=$reader.GetDouble(9)
$usage=$reader.GetInt64(10)
$tax=$reader.GetDouble(11)
$rate_code=$reader.GetString(12)
$inv_date=$reader.GetDateTime(13)
$missed=$reader.GetString(14)
$change_date=$reader.GetDateTime(15)
$dnp=$reader.GetString(16)
Write-Host "$dtl_id $invoice_id $debtor $premise $license $invoice_num $deb_cred $inv_ref $rate $charge $usage $tax $rate_code $inv_date $missed $change_date $dnp "
}
오류 메시지 : "1"인수 (들) "하여 GetString"를 호출
예외 : C에서 "열은 NULL 데이터가 포함 된": \ 사용자 \ klynch \ test.ps1 : 34 숯 27 + $ DNP = $ reader.GetString < < < < (16) + CategoryInfo : NotSpecified (:) [] MethodInvocationException + FullyQualifiedErrorId : DotNetMethodException
"그러면 폭발합니다."- 오류 메시지를 보내 주시겠습니까? – Ollie
위 오류 메시지가 추가되었습니다. – Ken