连接到Oracle数据库的ODP.NET TCP tansport地址错误

时间:2016-03-22 18:44:14

标签: oracle powershell odp.net

我在PowerShell 4.0版中使用OPD.NET托管数据提供程序(版本12C)。通过使用以下代码,我能够在本地托管Oracle DB服务器实例的Windows 2012服务器中成功运行并获取输出。因此,当我在作为Windows 2012服务器的数据库服务器上本地运行代码时,我能够获得输出。如果我在另一个Windows 8.1的桌面上运行相同的代码,我收到以下错误:

  

网络传输:TCP传输地址连接失败

WIndows 8.1上没有Oracle即时客户端;只存在ODP.NET DLL文件。

Windows 8.1和Windows 2012都具有网络连接和DNS名称可解析。

Windows 2012是64位操作系统,Windows 8.1是32位操作系统。我了解到ODP.Net不依赖于OS体系结构。

代码是:

Add-Type -Path "D:\ODP.NET_Managed_ODAC12cR4\odp.net\managed\common\Oracle.ManagedDataAccess.dll"

$ConnectionString = "Data Source=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =123.0.0.71)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = AGY));User ID=system;Password=system;Connection Timeout=480;"
$con = New-Object -TypeName Oracle.ManagedDataAccess.Client.OracleConnection($ConnectionString)
$cmd = $con.CreateCommand()
$cmd.CommandText='SELECT * FROM v$version'
try {
    $con.Open()
} catch [System.Exception] {
    Write-Host "Exception caught is = $_"
    break;
}
$rdr=$cmd.ExecuteReader()
if ($rdr.Read()) {
    $rdr.GetString(0)
}

if($con.State -eq "Open") {
    $con.Close() 
}

0 个答案:

没有答案