2012-02-15 82 views
1

我在MSDN網站上找到了一個很好的例子。 SQLConnect什麼是正確的ConnectionString傳遞SQLConnect?

我想連接到SQL服務器,連接到我的數據庫,但不幸的是,SQLConnect總是返回-1,並且應用程序凍結。

我已編輯上面的代碼:

direxec::direxec() 
{ 
_mbscpy_s(chr_ds_name, MAX_DATA, (const unsigned char *)"Server=mySQLServer;Database=myDatabaseName;"); 
_mbscpy_s(uid, MAX_DATA, (const unsigned char *)"testuser"); 
_mbscpy_s(pwd, MAX_DATA, (const unsigned char *)"testpassword"); 
printf("\n%s",chr_ds_name); 
} 

void direxec::sqlconn() 
{  
SQLAllocEnv(&henv); 
SQLAllocConnect(henv, &hdbc); 

rc = SQLConnect(hdbc, chr_ds_name, SQL_NTS, uid, SQL_NTS, pwd, SQL_NTS); 

// Deallocate handles, display error message, and exit. 
if (!MYSQLSUCCESS(rc)) 
{ 
    printf("\nFailed %d",rc); 
    SQLFreeConnect(henv); 
    SQLFreeEnv(henv); 
    SQLFreeConnect(hdbc); 
    if (hstmt) error_out(); 
    exit(-1); 
} 
printf("\nConnected"); 
rc = SQLAllocStmt(hdbc, &hstmt); 
} 

使用我的SQLDriverConnect可以連接到我的數據庫,但我想使用的SQLConnect如果可能的話。 有沒有人有任何想法我做錯了什麼?

謝謝!

回答

1

SqlConnect不接受連接字符串,它只接受數據源名稱(DSN)。在管理工具中的ODBC管理工具中配置DSN。如果你想使用連接字符串,那麼你需要使用SqlDriverConnect

+0

啊,好吧,我現在明白了。謝謝。 – kampi 2012-02-15 07:05:50

相關問題