Следующая ошибка регистрируется, когда я пытаюсь вызвать Fill (), и мой сеанс powershell падает.
Тип события: ошибка Источник события: .NET Runtime Описание: .NET Runtime
версия 2.0.50727.3625 - Попытка чтения или записи в защищенную память.
Это часто указывает на то, что другая память повреждена.
Мой скрипт выглядит так:
$asm = [System.Reflection.Assembly]::LoadWithPartialName(“Oracle.DataAccess”)
$userName = "foo"
$tnsDbName = "bar"
$pass = "foobar"
$connectionString = "User Id=$userName;Password=$pass;Data Source=$tnsDbName"
$q = @"
SELECT * FROM blah WHERE blar = '5848752'
"@
$cstr = $connectionString
$conn= New-Object Oracle.DataAccess.Client.OracleConnection($cstr)
$conn.open()
$adapter = New-Object Oracle.DataAccess.Client.OracleDataAdapter($q,$conn)
$dataset = New-Object Data.DataSet
$adapter.Fill($dataset)
$dataset.Tables[0]
Если я только пробежусь через строку "$ adapter =", чтобы увидеть состояние дел перед сбоем, у меня будет:
PS H:\> $asm.GetName()
Version Name
------- ----
10.2.0.100 Oracle.DataAccess
PS H:\> $adapter.SelectCommand.Connection | fl ClientID,ConnectionTimeout,ServerVersion,State
ClientId :
ConnectionTimeout : 15
ServerVersion : 10.2.0.4.0
State : Open
Я открыт для предложений! МОЖЕТ быть обновление ODP.NET на моем компьютере, но все остальные приложения, которые его используют (некоторые простые приложения winform) и Toad for Oracle, работают без проблем.