最初,我的代码在控制台应用程序上运行良好,但在 Window Service 上运行不正常。我在 catch 中创建了文本文件来检查代码是否连接到 MySQL 并观察到这是实际的问题。这可能是什么原因?
我尝试创建系统 DSN 和用户 DSN,但它们都不起作用。 我的连接字符串是:
conn.ConnectionString = "DSN=TrAudit_SQL;Uid=marium;Pwd=marium;";
try
{
conn.Open();
}
catch
{
return (-1);
}
最佳答案
我已经花了几天时间解决同样的问题。问题核心似乎非常简单:项目的构建选项“首选 32 位..”应该匹配所使用的驱动程序版本。 因此,在 64 位操作系统上使用 32 位驱动程序版本时,应检查 oprion。或者,您可以直接在 .csproj 文件中将其设置为:
<PropertyGroup ...>
<DebugSymbols>true</DebugSymbols>
...
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
关于c# - Mysql ODBC 连接在控制台应用程序中工作但在 Window 服务中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37408063/