У меня проблемы с подключением к базе данных SQL Server 2000 с использованием C. Программа компилируется, но я получаю сообщение об ошибке при подключении к базе данных. В частности, "resultado" получает значение -1.
Это код:
#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