首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerShell ORA-12514: TNS:侦听器当前不知道连接描述符中请求的服务

PowerShell ORA-12514: TNS:侦听器当前不知道连接描述符中请求的服务
EN

Stack Overflow用户
提问于 2016-02-11 12:04:39
回答 1查看 1K关注 0票数 0

我运行的PowerShell脚本有一个问题。此脚本使用ODAC (oracle数据访问组件)连接到oracle数据库并获得一些值。

最近,为了连接到数据库,我不得不更改中使用的端口号。

然而,当我试图在我的powershell脚本中更改这个端口号时,我会得到一个错误

ORA-12514: TNS:侦听器目前不知道连接描述符中请求的服务

对为什么会发生这种事有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2016-02-11 16:21:30

我使用以下方法:

我在ODAC1120320Xcopy_x64.zip中安装了C:\oracle (参见较新版本的这里)

下面是一个代码片段ExecuteReader(),您也可以使用ExecuteNonQuery()

代码语言:javascript
复制
# 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()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35338886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档