我正在尝试使用 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()
非常感谢任何帮助。
尝试删除换行符和“;”之间的空格和“用户 ID”。
Oracle 的连接字符串必须如下所示:
"DataSource=Your_Database_Server_Name/database_name;User Id=your_database_username;Password=your_database_user_password"