我运行的PowerShell脚本有一个问题。此脚本使用ODAC (oracle数据访问组件)连接到oracle数据库并获得一些值。
最近,为了连接到数据库,我不得不更改中使用的端口号。
然而,当我试图在我的powershell脚本中更改这个端口号时,我会得到一个错误
ORA-12514: TNS:侦听器目前不知道连接描述符中请求的服务
对为什么会发生这种事有什么想法吗?
发布于 2016-02-11 16:21:30
我使用以下方法:
我在ODAC1120320Xcopy_x64.zip中安装了C:\oracle (参见较新版本的这里)
下面是一个代码片段ExecuteReader(),您也可以使用ExecuteNonQuery()
# Load Oracle assembly
Add-Type -Path "C:\oracle\odp.net\bin\4\Oracle.DataAccess.dll"
$compConStr = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.213.6.15)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=OURSERVICENAME)));User Id=User;Password=Pass;Pooling=False"
# Establish the connexion
$oraConn= New-Object Oracle.DataAccess.Client.OracleConnection($compConStr)
$oraConn.Open()
$sql1Tpl = @"
SELECT masi.yyyy as TYPE_ID FROM xxxx masi
WHERE masi.serno = '{0}'
"@
$sql1 = $sql1Tpl -replace "blabla"
# Exécution
$command1 = New-Object Oracle.DataAccess.Client.OracleCommand($sql1,$oraConn)
$command1.CommandTimeout = 1500
$reader1 =$command1.ExecuteReader()
$clocationID = $null
if ($reader1.HasRows -eq $true)
{
$read =$reader1.read()
if ($read -eq $true)
{
$clocationID = $reader1["C_LOCATION_ID"]
}
}
# Close the reader
$reader1.close()
# Disconect
$oraConn.Close()https://stackoverflow.com/questions/35338886
复制相似问题