一尘不染

使用ExecuteNonQuery C#时出错

sql

使用时出现问题ExecuteNonQuery

这是我的代码:

var connString = @"Data Source=serwer01;Initial Catalog=PolsatCyfrowy;Integrated Security=True";

FileInfo file = new FileInfo("C:\\Users\\azbudniewek\\source\\repos\\UM2 V2\\UM2 V2\\scripts.sql");
string script = file.OpenText().ReadToEnd();

SqlConnection conn = new SqlConnection(connString);
Server server = new Server(new ServerConnection(conn));
server.ConnectionContext.ExecuteNonQuery(script);

这是错误:

System.IO.FileNotFoundException:无法加载文件或设置“
Microsoft.SqlServer.BatchParser,版本= 14.100.0.0,区域性=中性,PublicKeyToken =
89845dcd8080cc91”。无法下载该文件。
文件名:’Microsoft.SqlServer.BatchParser,版本= 14.100.0.0,文化=中性,PublicKeyToken =
89845dcd8080cc91’

在System.Reflection.RuntimeAssembly.GetType(字符串名称,布尔throwOnError,布尔ignoreCase)中的System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly
set,字符串名称,布尔throwOnError,布尔ignoCase,ObjectHandleOnStack)

我读了很多有问题的解决方案,但无能为力。

我应该只安装另一个SQL Server吗?我已经在计算机上安装了SQL Server 2014,并且程序集所在的文件夹如下所示:

截屏

我应该怎么做才能避免这个问题?我想我的Assembly文件夹中应该有14.100.0.0版本,但不知道如何更新它。也许有人知道吗?


阅读 125

收藏
2021-03-10

共1个答案

一尘不染

我有一个类似的问题。我有一个使用Microsoft.SqlServer.SqlManagementObjects nuget包的SMO应用程序。

该应用程序都可以在我的PC上完美运行,但是在部署和在我们的应用程序服务器上运行该应用程序时出现错误。

无法加载文件或程序集“ Microsoft.SqlServer.BatchParser.dll”或其依赖项之一。指定的模块无法找到。

要解决此问题,我需要再次针对x86平台构建项目。

2021-03-10