【发布时间】:2013-12-04 10:25:58
【问题描述】:
我的 C# 应用程序使用以下连接字符串格式连接到 Oracle:
Data Source=tnsEntry;User Id=myUsername;Password=myPassword;
现在,如果有一个用户 ID 以空格开头,如 ' abc'(不包括引号),我如何在连接字符串中指定它?将其放在单引号/双引号中会导致错误 Ora-1017: Invalid username/password。
使用 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);
}
}
}
}
【问题讨论】:
-
我认为创建一个带有前导/尾随空格的用户是不可能的,所以为什么不直接修剪它们呢?
-
@haki 这是可能的。
-
C#代码中的连接字符串前不能用
@吗?也可以在这里查看解决方案:stackoverflow.com/questions/3824351/…