有没有办法为进程列表中的条目指定程序名称?通常,所有连接都说“无”或“MySQLWorkbench”。在一种情况下,我实际上在连接列表中看到了我正在运行的 .exe 的名称,但我不知道为什么。
这是我在 MySQLWorkbench 客户端连接管理页面上谈论的内容的图片。
我使用的是 Connector/Net 6.9.6,但在连接字符串选项中没有看到任何内容。
有没有办法为进程列表中的条目指定程序名称?通常,所有连接都说“无”或“MySQLWorkbench”。在一种情况下,我实际上在连接列表中看到了我正在运行的 .exe 的名称,但我不知道为什么。
这是我在 MySQLWorkbench 客户端连接管理页面上谈论的内容的图片。
我使用的是 Connector/Net 6.9.6,但在连接字符串选项中没有看到任何内容。
我已经找到了解决方案,您只需在 URL 中添加以下字符串: &connectionAttributes=program_name:[APP_NAME]
MySQL Workbench 中的“程序名称”列来自一个program_name
连接属性。MySQL 文档错误地声称:
MySQL Connector/NET 定义了这些属性:
_program_name
: 客户名称
这在两个方面是错误的:属性名称有错字(前导下划线)和设置它的代码被删除。
没有办法(连接字符串设置或其他方式)在 MySQL Connector/NET 中设置此属性的值。此外,连接属性是初始握手的一部分,因此无法在连接建立后设置它们(例如,在您的应用程序代码中)。
如果您愿意更改 ADO.NET 连接器库,MySqlConnector库在v0.44.0中添加了对Application Name
连接字符串选项的支持;这将让您控制发送到服务器的连接属性(它将显示在 MySQL Workbench 中)。