遇到一个棘手的问题。求大神解答,急~~~~~~~

Honyun100 2014-07-18 04:29:29

系统错误
错误号:300
错误消息:您访问的业务程序运行异常,请联系您的软件开发组
原始错误消息:The type initializer for 'iAnywhere.Data.SQLAnywhere.SAConnection' threw an exception.
发生错误的源:iAnywhere.Data.SQLAnywhere.v3.5
原始堆栈信息: at iAnywhere.Data.SQLAnywhere.SAConnection..ctor(String connectionString) at WUERP.Base.Adodb.Sybase11.CreateConnection(AdodbLinkDescription linkDescription) at WUERP.Base.Adodb.Sybase11..ctor(AdodbLinkDescription linkDescription) at WUERP.Base.AdodbHelper.GetClass(String poolName) at WUERP.Base.AdodbHelper.Procedure(String poolName, String sqlString, List`1 arguments) at WUERP.Base.AdodbHelper.Procedure(String sqlString, List`1 arguments) at WUERP.Business.dataServices.CurStock.curStock(String barcode, String ckey) in E:\trunk\wuerpda\erppda\3.0\ErpPdaWeb\DataServices\CurStock.cs:line 28


C# 连接服务器sybase 的时候,出现这种错误。什么个意思? 我在win7 32上运行是没有错误的,在64位上运行的时候就提示这个错误。。。大神求助!
...全文
131 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Honyun100 2014-07-18
  • 打赏
  • 举报
回复
引用 5 楼 Z65443344 的回复:
因为引用DLL文件是在SAConnection这个类里引用的,你不调用这个类,当然就不会报错
谢谢你!
Honyun100 2014-07-18
  • 打赏
  • 举报
回复
引用 4 楼 Z65443344 的回复:
原始错误消息:The type initializer for 'iAnywhere.Data.SQLAnywhere.SAConnection' threw an exception. 这个是你程序自己处理错误后抛出的错误信息,并不是原始错误信息. 原始错误信息一定是找不到DLL文件.
嗯,问题解决了。 应该是iAnywhere.Data.SQLAnywhere.v3.5 .dll这个文件应用了一个dbdata11.dll这个文件,然而在我的目录线面根本没找到dbdata这个文件 。
於黾 2014-07-18
  • 打赏
  • 举报
回复
因为引用DLL文件是在SAConnection这个类里引用的,你不调用这个类,当然就不会报错
於黾 2014-07-18
  • 打赏
  • 举报
回复
原始错误消息:The type initializer for 'iAnywhere.Data.SQLAnywhere.SAConnection' threw an exception. 这个是你程序自己处理错误后抛出的错误信息,并不是原始错误信息. 原始错误信息一定是找不到DLL文件.
於黾 2014-07-18
  • 打赏
  • 举报
回复
引用 2 楼 Honyun 的回复:
[quote=引用 1 楼 Z65443344 的回复:] 你的DLL是32位的,在64位下无法运行 程序编译时选择x86
谢谢你! 但是现在问题是,只要连接数据库的那段代码去掉,就不会出问题,加上就会出现如上提示。[/quote] 因为你用了数据库的DLL,而这个DLL是32位的. 你需要将程序编译为32位,并且机器上要安装32位的数据库客户端. 否则你就必须换个能支持64位的DLL了
Honyun100 2014-07-18
  • 打赏
  • 举报
回复
引用 1 楼 Z65443344 的回复:
你的DLL是32位的,在64位下无法运行 程序编译时选择x86
谢谢你! 但是现在问题是,只要连接数据库的那段代码去掉,就不会出问题,加上就会出现如上提示。
於黾 2014-07-18
  • 打赏
  • 举报
回复
你的DLL是32位的,在64位下无法运行 程序编译时选择x86

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧