在64位窗口服务器的Sybase驱动程序错误
问题描述:
我有一个控制台应用程序,它在32位机器中完美工作。但我有问题在64位Windows服务器上运行可执行文件。我得到的错误消息是:在64位窗口服务器的Sybase驱动程序错误
“Sybase.Data.AseClient1.AseConnection”的类型初始值设定项引发异常。 System.BadImageFormatException。试图加载格式不正确的程序。在Sybase.Data.Aseclient1.AseConnection.CheckVersion()处的Sybase.Data.AseClient.Unmanaged.AseGetDriverVersion。
有没有人看到这个错误?
更新:在X86编译后,我得到:
主要版本不匹配sybdrvado20.dll。期待主要版本'2'。在Sybase.Data.AseClient1.AseConnection.CheckVerison加载版本1。
请注意,服务器有最新的Sybase版本。
答
我有类似的问题,因为驱动程序是32位。所以请尝试为x86构建您的应用程序。你可以在你的项目属性中做到这一点。
答
关于错误“主要版本不匹配sybdrvado20.dll ......”,有什么解决的我被替换旧版本sybdrvado20.dll的,这是在bin文件夹位于C:\ Sybase \ DataAccess \ ADONET \ dll或C:\ Sybase \ DataAccess64 \ ADONET \ dll中的新应用程序(位于服务器中)。 要检查dll的版本,请右键单击该文件,转到属性并单击选项卡详细信息。