我目前要做一个程序就是打开就能自动连接到SQL服务器查询数据,ODBC想在程序中自动配置,不知道该怎么写,在哪里写?是在那个***APP的InitInstance()里吧?
还有就是知道服务器名称如:202.20.32.30,账号:aaa,密码:123,服务器上的数据库选择为Runtime,代码如何写?
我以前写的ODBC都是本地的数据库,在程序里新建CRecordSet类与之关联,但目前数据库在服务器上,编代码该怎么弄?

解决方案 »

  1.   

    没用过..你在控制面版里面的"管理工具"里面运行"数据源 (ODBC)"可以配置出远程数据源吗?
      

  2.   

    可以配置,驱动程序用的是最后行的SQL server
      

  3.   

    那就没问题了,你按下面的方法动态配置数据源..使用的是ACCESS的例子,把数据源的类型改成你在配置时候所选的..
    #include <odbcinst.h>char szDesc[223];
    int mlen;
    sprintf(szDesc,"DSN=%s? DBQ=%s? DEFAULTDIR=%s?? ","TryDB","D:\\Database\\try.mdb","D:\\DATABASE");mlen = strlen(szDesc);
    for (int i=0; i<mlen; i++)
    {
        if (szDesc[i] == '?')
            szDesc[i] = '\0';
    }SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0",(LPCSTR)szDesc);
      

  4.   

    这个我也考虑过,不过服务器名称如:202.20.32.30,账号:aaa,密码:123,服务器上的数据库选择为Runtime,代码如何写?
    你给的代码没有这方面的设置啊
      

  5.   

    你不是说你选的是SQLSERVER的驱动吗??
      

  6.   

    先用ADO control控件自动生成连接字符串,然后拷贝到tabby给的代码中的szDesc里面
      

  7.   

    SQLConfigDataSource(NULL,ODBC_ADD 
    _SYS_DSN, "Microsoft   Access   Driver   (*.mdb)\0 ", " 
    DSN=TryDB\0DBQ=D:\\Database\\ 
    try.mdb\0DEFAULTDIR=D:\\DATABASE\0\0 ");