小弟建立了一个MFC程序,当时并没有采用数据库的方式来建立,仅仅是一个对话框程序。
后来需要加入SQL的数据储存功能,因此用过 “MFC ODBC 使用者”新建了一个SQL数据源候,程序自动创建了一个CRecordset的子类。
程序在我自己的电脑上能用,但是放到其他人的电脑上就会出现错误对话框(见图片所示),但是如果把其他人加入到SQL使用权限中,则不会出错。
请问各位
1、我该怎么改程序,让程序在打开这个程序的时候和SQL建立连接,如果不能建立连接则不能打开主程序?
2、网上找了一些方法比如采用CDatabase.open连接数据源,但是找不到我建立的数据源,请问又是什么问题? 

解决方案 »

  1.   

    ODBC过时了。要建立数据源。想想也是的。不就查询一个数据库吗?还要每个机器都手冻建立。
    现在ado也用了很多年了。
    我都是用ado 百度VC ado 。会搜出一大堆了
    说实在的 现在都是用ado点net 因为ado一旦开发完成。有msADO15.DLL存在,就运行很ok。没有那么麻烦
      

  2.   

    建议 你改成ado的。反正迟早要学的。至少这个还能用几年没问题
      

  3.   

    在64位Windows下:
    64位exe和dll在目录c:\windows\system32目录下;
    32位exe和dll在目录c:\windows\syswow64目录下;
    所以要注意:
        在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。
        且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll
        在win64位系统下设置32位程序使用的数据库别名要用c:\windows\syswow64\cliconfg.exe
        在win64位系统下设置32位程序使用的系统DSN要用c:\windows\syswow64\odbcad32.exe
      

  4.   

    你如果是用ODBC的方式建立的程序需要在对方电脑也建一个相同的ODBC数据源就行了。按照你电脑上的设置抄一份到他的电脑上,如果是通用式的程序你就要想办法写一个能够自动添加这个数据源的脚本了。
      

  5.   

    用数据库账户登录,不要用windows集成验证