[英]Oracle: How to allow leading/trailing spaces in ODP.Net connection string values?
我的C#應用程序使用以下連接字符串格式連接到Oracle:
Data Source=tnsEntry;User Id=myUsername;Password=myPassword;
現在,如果有一個以' abc'
類' abc'
空格開頭的用戶ID(不包括引號),如何在連接字符串中指定它? 用單引號或雙引號引起來會導致錯誤Ora-1017:無效的用戶名/密碼。
使用Oracle.DataAccess,版本= 2.112.3.0。 連接到Oracle 11g。
在我的最小樣本中可以重現:
using System;
using Oracle.DataAccess.Client;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
var con = new OracleConnection("User Id=\" abc\";Password=system05;Data Source=REFUPG141");
try
{
con.Open();
Console.WriteLine("connected.");
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
}
}
用雙引號括住用戶名對我有用:
請注意,創建用戶時需要使用雙引號:
SQL> create user " DUMMY" identified by "pass";
User created.
SQL> grant connect, create session to " DUMMY";
Grant succeeded.
SQL> conn " DUMMY"/"pass";
Connected.
然后在.NET中,我使用了此連接字符串,並且工作正常:
Data Source=localhost/mySid;User Id=" DUMMY";Password=pass
[編輯]重要信息:
我正在使用托管.NET Oracle提供程序
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.