ODBC连接字符串

时间:2013-01-15 08:36:47

标签: visual-c++ odbc

这是一个VC ++ ODBC连接字符串,它是Unicode。如何使它通用?例如:我可以输入不同数据库的用户名,密码。

SQLDriverConnect (sqlconnectionhandle, 
             NULL, 
             L"Driver={SQL Server};Server=123.1.78.100, 1433;Database=DB1;Uid=user123;Pwd=pw123;",
             SQL_NTS, 
             retconstring, 
             1024, 
             NULL,
             SQL_DRIVER_NOPROMPT)

我尝试了这个,但不起作用:

string serverIp = "123.1.78.100, 1433";
string db_name = "DB1";
string user_id = "uesr123"
string pwd = "pw123";


string ss;
            ss.append("Driver={SQL Server};Server=");
            ss.append(serverIP);
            ss.append(";Database=");
            ss.append(dbName);
            ss.append(";Uid=");
            ss.append(uId);
            ss.append(";Pwd=");
            ss.append(pw);
            ss.append(";");

SQLDriverConnect (sqlconnectionhandle, 
             NULL, 
             (wchar_t*)ss.c_str(),
             SQL_NTS, 
             retconstring, 
             1024, 
             NULL,
             SQL_DRIVER_NOPROMPT)

1 个答案:

答案 0 :(得分:0)

我试过这样:(虽然提到连接的数据库存在。)它工作正常。

String ss;
            ss =  ("Driver={SQL Server};Server=");
            ss = ss + (serverIp);
            ss = ss + (";Database=");
            ss = ss + (db_name);
            ss = ss + (";Uid=");
            ss = ss + (uId);
            ss = ss + (";Pwd=");
            ss = ss + (pwd);
            ss = ss + (";");

确保创建具有名称的数据库...在连接数据库之前