无法加载驱动程序:com.mirosoft.jdbc.sqlserver.SQLServerDriver

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法加载驱动程序:com.mirosoft.jdbc.sqlserver.SQLServerDriver相关的知识,希望对你有一定的参考价值。

我用java连接数据库时,出现内容: 无法加载驱动程序:com.mirosoft.jdbc.sqlserver.SQLServerDriver,不知道是咋回事哟?哪位高手帮帮忙了!

参考技术A 你导入驱动包,然后重新部署、运行看看 参考技术B 数据库路径 有问题 你看看

无法加载文件或程序集,但已加载

【中文标题】无法加载文件或程序集,但已加载【英文标题】:Could not load file or assembly but they are loaded 【发布时间】:2018-02-21 13:33:41 【问题描述】:

我有一个项目正在进行,它使用来自 ERP 系统的 DLL。 DLL 用于从 ERP 中获取信息,例如发票等。 我得到的错误是:

内部异常 1:FileNotFoundException:无法加载文件或 程序集 'SnelStartGatewayInterface,版本 = 12.48.37.0, Culture=neutral, PublicKeyToken=null' 或其依赖项之一。这 系统找不到指定的文件。

但在同一个窗口中,我使用“watch 1”来查看当前使用的程序集,方法是:

AppDomain.CurrentDomain.GetAssemblies()

它返回几个程序集。 这是加载的,与错误中看到的完全相同:

+ [36] SnelStartGatewayInterface,版本=12.48.37.0,文化=中性,PublicKeyToken=null System.Reflection.Assembly System.Reflection.RuntimeAssembly

为什么它会返回错误?

附言。我在 Windows 窗体测试应用程序中尝试了完全相同的方法和 dll,并且运行良好。

【问题讨论】:

看看“...或其依赖项之一。系统找不到指定的文件。”可能是依赖加载失败。 我对编程有点陌生,还没有使用过 Dll。你能给我帮助并告诉我在哪里可以找到依赖项或帮助我查看加载的依赖项。 @Naaman 看看我的回答。有示例代码可以获取所有引用的程序集。 这感觉就像XY Problem。您真正想要完成什么?通常,对于 托管 程序集,您在编译它们之前设置一个引用,您不会使用反射加载它们。这是某种部署问题吗? ERP 系统 DLL 甚至是用 .NET 编写的吗? 【参考方案1】:

就像 cmets 中提到的 Pawl Lukasik 一样,您应该查看依赖关系。

为此,请使用:

private List<string> ListReferencedAssemblies()

    List<string> refList = new List<string>();
    var assemblies = Assembly.GetExecutingAssembly().GetReferencedAssemblies();
    foreach (var assembly in assemblies)
    
        refList.Add(assembly.Name);
    

    return refList;
 

查看所有引用的程序集。

或使用 LINQ:

private List<string> ListReferencedAssemblies()

    return Assembly.GetExecutingAssembly().GetReferencedAssemblies().Select(x => x.FullName).ToList();
 

【讨论】:

我已经尝试过您提供的代码,但问题是当前执行的程序集不是错误中提到的程序集。

以上是关于无法加载驱动程序:com.mirosoft.jdbc.sqlserver.SQLServerDriver的主要内容,如果未能解决你的问题,请参考以下文章

Word VSTO 4.0 插件无法加载:无法加载文件或程序集

微信小程序无法加载-SSL配置修改

无法加载文件或程序集,但已加载

加载驱动失败怎么办

Xamarin - 无法加载程序集'PCLStorage.Abstractions

无法加载文件或程序集...尝试加载格式不正确的程序 (System.BadImageFormatException)