簡體   English   中英

Oracle:如何在ODP.Net連接字符串值中允許前導/尾隨空格?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM