gpt4 book ai didi

c# - 尝试使用指向 ODBC DSN 的连接字符串时出现关键字不支持异常

转载 作者:太空狗 更新时间:2023-10-29 21:19:25 25 4
gpt4 key购买 nike

我为我的 Asp.Net MVC 应用程序的数据库访问创建了一个 ODBC DSN。主要原因之一是它可以轻松地将数据库凭据(例如服务器地址、端口、用户名和密码)置于源代码控制之外,而不会影响我的发布能力。

所以我将连接更改为DSN=MyDSN

不幸的是,当我运行我的 Entity Framework 查询时,我得到了Exception Details: System.ArgumentException: Keyword not supported: 'dsn'.

有人知道我做错了什么吗?

最佳答案

如果您想使用 ODBC DSN,您的连接字符串必须使用 System.Data.Odbc native 提供程序而不是托管 SQL 客户端。

编辑:

所以现在从理论到实践。由于内部 EF 实现,它不起作用。 EF 在内部调用一些方法来尝试从创建的连接中获取 DbProviderFactory。问题在于此属性是在 DbConnection 中定义的,它返回 null。只有 SqlConnection 覆盖属性并返回正确的工厂。因此 EF 不适用于默认的 ODBC 提供程序和 here非常清楚地描述了原因。

关于c# - 尝试使用指向 ODBC DSN 的连接字符串时出现关键字不支持异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6567037/

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