如何在不使用对话框的情况下为 C# 项目中的 MySQL 数据库设置连接字符串?

Posted

技术标签:

【中文标题】如何在不使用对话框的情况下为 C# 项目中的 MySQL 数据库设置连接字符串?【英文标题】:How do I set up a connection string for a MySQL database in a C# project without using dialog boxes? 【发布时间】:2010-12-24 05:11:23 【问题描述】:

注意:显然,mysql 连接器安装没有自动显示在添加数据源的对话框中的原因是 Visual 2008 Express Edition em> 不允许在 Visual Studio IDE 中进行“第三方集成”。因此,这使得手动设置数据源变得更加重要,因为来自 MySQL 连接器的集成工具不存在。


我的目标是使用实体框架(ADO.NET 实体数据模型)建立与 MySQL 数据库的连接。我对所有的向导和对话框感到很沮丧,但我仍然找不到我要找的东西。

这是我到目前为止所做的:我刚刚在我的机器上安装了 MySQL .NET 连接器 v6.1.3(据我所知,它已正确安装。它显示在控制面板的添加/删除程序中)。在 Visual Studio(Visual C# 2008 Express Edition SP1 与 SP1 附带的实体框架版本)中,我单击以添加对项目的引用,单击“ADO.NET 实体数据模型”,然后我进入一个询问“模型应该包含什么?”我选择“从数据库生成”,然后单击下一步。

此屏幕询问我应该使用哪个数据连接。我单击“新建连接”并得到一个如下所示的屏幕:

我刚刚安装的 ADO.NET MySQL 连接器的选项在哪里?

我知道where to find the connection string 用于 MySQL,但我不知道如何将它放入我的应用程序以便 Visual Studio 识别它,使用 ADO.NET 连接器,并允许我选择该连接来创建实体模型。这如何实现?

【问题讨论】:

【参考方案1】:

使用 app.config(或 web.config)文件添加条目。确保使用 MySQL 提供程序正确指定 provider= 属性。

【讨论】:

这里是 JET 的一个例子:msdn.microsoft.com/en-us/library/ms243192.aspx【参考方案2】:

Visual C# 2008 Express 中不支持第三方扩展 版本 SP1。

Dan Fernandez 在this blog post 中提到了这一点。

有关 Express 和 Professional 之间区别的更多信息 Visual Studio 2008 产品比较文章中的here 提供了版本。

【讨论】:

MySQL ADO.NET 连接器是否构成第 3 方扩展?我认为它只是安装时全局程序集缓存中的一系列程序集,但也许我不正确。 显然 MySQL 连接器在安装时确实安装了“Visual Studio 集成”。我想这会阻止 MySQL 出现在数据库资源管理器中。那么,不通过所有对话框就没有办法手动设置吗? Visual C# 2008 Express Edition 甚至不允许创建到 MS SQL Server 实例的设计时连接。这是免费产品的限制。 因此,MySQL ADO.NET Connector/NET 和 Devart dotConnect for MySQL 都不能在设计时与 Express 版本捆绑使用。 您可以尝试解决这种情况 - 尝试使用控制台工具,例如 msdn.microsoft.com/en-us/library/…> 或 code.msdn.microsoft.com/EdmGen2">EdmGen2</a> 正确链接:msdn.microsoft.com/en-us/library/bb387165.aspx 和 code.msdn.microsoft.com/EdmGen2

以上是关于如何在不使用对话框的情况下为 C# 项目中的 MySQL 数据库设置连接字符串?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不添加另一个 UIView 的情况下为情节提要中的 uitableViewCell 制作等宽分隔符?

如何在不为其创建专用网站的情况下为我的应用提供隐私政策?

是否可以在不着色图标的情况下为 TabBar 着色?

如何在不使用 @Composable 注释的情况下为撰写函数创建扩展?

如何在不放弃主线程的情况下为 Python 使用 CoreBluetooth

如何在不影响 SYSTEM/IE 代理的情况下为 Webbrowser Control 设置代理