如何使用 PowerShell 解决 Oracle 错误“用户 ID 是无效的连接字符串属性”?

问题描述 投票:0回答:2

我正在尝试使用 PowerShell 连接到远程 Oracle 数据库。我安装了以下内容:

ODTwithODAC122011, ODP.Net_Managed_ODAC_122cR1

我有.NetFramework 4.8.04084。

正如问题中所述,我收到以下错误:

New-Object : Exception calling ".ctor" with "1" argument(s): "'
User Id' is an invalid connection string attribute"

我尝试了几种连接 Oracle 数据库的不同方法。其中之一是使用

[System.Reflection.Assembly]::LoadWithPartialName("System.Data.OracleClient")
加载程序集,但这也会出错。

代码是:

Add-Type -Path C:\odp.net\managed\common\Oracle.ManagedDataAccess.dll
$query="Select NC_NAME From NC_PROGRAMS FETCH FIRST 10 ROWS ONLY"
$OracleConnectionString = "Data Source=(DESCRIPTION=
(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.xx.xx.x)(PORT=1521)))
(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=Fa1)));
User Id=username ;Password=password"

$connection = New-Object Oracle.ManagedDataAccess.Client.OracleConnection($OracleConnectionString)
$connection.open()
$command=$connection.CreateCommand()
$command.CommandText=$query
$reader=$command.ExecuteReader()
while ($reader.Read()) {
    $reader.GetString(1) + ', ' + $reader.GetString(0)
    }
    $connection.Close()

非常感谢任何帮助。

.net oracle powershell odp.net odac
2个回答
0
投票

尝试删除换行符和“;”之间的空格和“用户 ID”。


0
投票

Oracle 的连接字符串必须如下所示:

"DataSource=Your_Database_Server_Name/database_name;User Id=your_database_username;Password=your_database_user_password"
© www.soinside.com 2019 - 2024. All rights reserved.