0
我無法使用C連接到SQL Server 2000數據庫。程序編譯但連接到數據庫時出現錯誤。更具體地說,「resultado」的值爲-1。
這是代碼:嘗試使用C連接到SQL Server 2000數據庫,SQLConnect上的問題
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
#include <sqlext.h>
int main(int argc, char *argv[])
{
SQLHANDLE environmentHandle;
SQLHANDLE connectionHandle;
//Connecting to the Database
SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &environmentHandle);
SQLSetEnvAttr(environmentHandle, SQL_ATTR_ODBC_VERSION, (void*) SQL_OV_ODBC3, 0);
SQLAllocHandle(SQL_HANDLE_DBC, environmentHandle, &connectionHandle);
SQLSetConnectAttr(connectionHandle, SQL_LOGIN_TIMEOUT,(void*) 5, 0);
SQLCHAR serverName[60]; strcpy((char*) serverName,"SERVERSUCURSAL\0");
SQLCHAR userName[60]; strcpy((char*) userName, "sa\0");
SQLCHAR passWord[60]; strcpy((char*) passWord, "syntelsol\0");
SQLRETURN resultado = SQLConnect(connectionHandle,serverName, strlen((char*)serverName), userName,
strlen((char*)userName), passWord, strlen((char*)passWord));
//Creamos las sentencias
SQLHANDLE statementHandle;
//Liberamos las handles
SQLDisconnect(connectionHandle);
SQLFreeHandle(SQL_HANDLE_DBC, connectionHandle);
SQLFreeHandle(SQL_HANDLE_ENV, environmentHandle);
return 0;
}
這是數據庫的樣子。服務器名稱可能SERVERSUCURSAL:
http://i.imgur.com/PhVIa.png
謝謝,這工作。我能知道爲什麼我不需要NUL角色來標記名稱的結尾嗎? – Uri 2012-02-02 17:15:33
因爲在C中「xxxx」已經結束。 – bohica 2012-02-03 08:21:04