Как подключиться к базе данных (SQLSERVER) из проекта C++?
Я потратил слишком много времени, пытаясь подключиться к базе данных, но бесполезно, любые идеи будут очень оценены.
Это проект MFC, проблема заключается в строковом соединении (возможно).
Что я уже пробовал:
Я пробовал некоторые библиотеки и некоторые учебные пособия, но ничего не ясно ( я не могу поверить, что это слишком сложно)
Сейчас я работаю над этим классом
<pre>#include "stdafx.h" #include <iostream> #include <windows.h> #include <sqltypes.h> #include <sql.h> #include <sqlext.h> using namespace std; #define SQL_RESULT_LEN 240 #define SQL_RETURN_CODE_LEN 1000 class Connect { SQLHANDLE sqlConnHandle; SQLHANDLE sqlStmtHandle; SQLHANDLE sqlEnvHandle; SQLWCHAR retconstring[SQL_RETURN_CODE_LEN]; public :Connect() { sqlConnHandle = NULL; sqlStmtHandle = NULL; if (SQL_SUCCESS != SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &sqlEnvHandle)) MessageBox(NULL, " connected to database\n", NULL, NULL); if (SQL_SUCCESS != SQLSetEnvAttr(sqlEnvHandle, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0)) MessageBox(NULL, " connected to database\n", NULL, NULL); if (SQL_SUCCESS != SQLAllocHandle(SQL_HANDLE_DBC, sqlEnvHandle, &sqlConnHandle)) MessageBox(NULL, " connected to database\n", NULL, NULL); }; ~Connect() {}; //define handles and variables //initializations public: void connect() { switch (SQLDriverConnectW(sqlConnHandle, NULL, (SQLWCHAR*)L"DRIVER={SQL Server};SERVER=TN1DEVLVTS49\\SQL2K14, 1433;UID=sa;PWD=Linedata1;DATABASE=Training_Project_DataBase;Trusted=true;", //DRIVER={SQL Server};SERVER=TN1DEVLVTS49\\SQL2K14, 1433;UID=sa;PWD=Linedata1;DATABASE=Training_Project_DataBase;Trusted=true; //Driver={SQL Server};Server=TN1DEVLVTS49\\SQL2K14;UID=sa;PWD=Linedata1;Database=Training_Project_DataBase; //(SQLWCHAR*)L"DRIVER={SQL Server};SERVER=localhost, 1433;DATABASE=Training_Project_DataBase;", SQL_NTS, retconstring, 1024, NULL, SQL_DRIVER_NOPROMPT)) { case SQL_SUCCESS: MessageBox(NULL, "Successfully connected to SQL Server", NULL, NULL); break; case SQL_SUCCESS_WITH_INFO: MessageBox(NULL, "Successfully connected to SQL Server", NULL, NULL); break; case SQL_INVALID_HANDLE: MessageBox(NULL, " Could not connect to SQL Server", NULL, NULL); case SQL_ERROR: MessageBox(NULL, " Could not connect to SQL Server", NULL, NULL); default: break; } }; };
OriginalGriff
Это будет зависеть от того, какой проект C++ вы пытаетесь написать и для какой среды. Приложение MFC / Native будет использовать различные функции для решения .NET C++, а ОС, отличающаяся от Windows, вероятно, будет полностью использовать другой набор.
Это не очень хороший вопрос - мы не можем понять из этого малого, что вы пытаетесь сделать.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы.
Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.
amine zawix
OriginalGriff. Я работаю над проектом MFC и использую Visual Studio и уже создал систему SDN ODBC
Я обновил свой вопрос