gpt4 book ai didi

c# - 从 OleDb 连接字符串获取用户

转载 作者:太空宇宙 更新时间:2023-11-03 21:18:27 25 4
gpt4 key购买 nike

尝试从我的 Oledb 连接字符串中获取用户 ID。

我正在使用以下方法。

string user = 
conn.ConnectionString.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries)
.First(s = s.StartsWith("User")));

connection string:
Provider=IBMDA400;Data Source=COSQAC;User Id=BERNARD;Password=;Default Collection=MYLIB;

a) 我缺少什么才能让它工作?

b) 连接字符串生成器未指定 .User(如 SQL)。这是正确的吗(我可以使用 key 吗

最佳答案

我不确定你在问什么。修正拼写错误后,您的代码应返回 User Id 的整个键值对:

var conStr="Provider=IBMDA400;Data Source=COSQAC;User Id=BERNARD;Password=;Default Collection=MYLIB;";
var user=conStr.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries)
.First(s => s.StartsWith("User"));

这将返回 User Id=BERNARD。您可以在 = 上拆分它以获取用户 ID。

或者您可以使用正则表达式直接提取User Id:

var match=Regex.Match(conStr,"User Id=(?<name>.*?);");
Console.WriteLine(match.Groups["name"].Value);

这将返回 BERNARD。该模式仅捕获 User Id= 和名为 name 的组中的下一个 ; 之间的字符。

OleDbConnectionStringBuilder 确实支持User Id,但您需要使用索引器来设置或获取它。 OLEDB 提供程序具有不同的参数名称,因此无法保证特定提供程序甚至存在该参数:

var builder = new System.Data.OleDb.OleDbConnectionStringBuilder(conStr);
var user=builder["User Id"];

这将返回 BERNARD

关于c# - 从 OleDb 连接字符串获取用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32497279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com