客户端是delphi dbexpress 编的程序,后台是SQLserver7.0。
真奇怪,前几天运行还好好的程序忽然又不行了,应该是不能正确连接到数据库。
运行编译链接后的程序出现这样的错误提示:
**
Exception EDatabaseError in module Project1.exe at 00085F35 SQL Error:
Error mapping failed.
**于是打开工程看看,发现 dbExpress Connection 组件已经不能连接到设定的数据库了:
**
Failure to connect : SqLerror : Error mapping failed.
**在刚刚开始编程的时候也出现过这种情况,“Failure to connect : SqLerror : Error mapping failed.”
后来在数据库中设置一个用户asd,密码asd,就可以正确连接了。
之后编程也没什么问题,都可以连接到数据库。今天忽然又不行了???用Sql Explorer 又可以正常连接,用户asd,密码asd。有谁知道是为什么哪??多谢。

解决方案 »

  1.   

    检查一下adoconnection的connectstr,是不是这儿有问题?最好是每次在运行程序时,动态给connectionstr传值,这样保证每次连接成功。可以把连接成功后的connectionstr存放在一个ini文件或者注册表中,每次都去用这个connectionstr去连接数据库,如果不行,则弹出选择sql server的窗体,再连接,成功后,替换connectionstr到ini文件或者注册表中..
      

  2.   

    谢谢,不过我用的是dbExpress 中的SQLconnection ,好像没你说的connectionstr?
      

  3.   

    删除sqlconnection,新增一个,重新配置试试,有可能是环境变化了
      

  4.   

    to gdwyh(神州大侠) 
    需要吗?我没有安装什么SQL客户端啊?
      

  5.   

    可能是dbexpress中,sqlconnection连接SQLServer的驱动程序文件发生了改变。好象以前我测试MySQL时发生过这种问题,SQLServer倒没有发现!
      

  6.   

    我都已经把所谓SQLserver新版驱动 的 dll 文件覆盖过好几次了。
    没什么作用!