Подключение к MS SQL
От: Аноним  
Дата: 15.04.08 04:24
Оценка:
Доброго времени суток!!!

Не подскажите каким образом можно подключиться к серверу MS SQL 2005 средствами С++. Желательно как можно проще, без всяких наворотов!!!! Заранее большое спасибо!!!
Re: Подключение к MS SQL
От: Oxotnik  
Дата: 15.04.08 06:26
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Доброго времени суток!!!


А>Не подскажите каким образом можно подключиться к серверу MS SQL 2005 средствами С++. Желательно как можно проще, без всяких наворотов!!!! Заранее большое спасибо!!!


ADO — самое оно будет
Re[2]: Подключение к MS SQL
От: Lloyd Россия  
Дата: 15.04.08 07:39
Оценка:
Здравствуйте, Oxotnik, Вы писали:

А>>Не подскажите каким образом можно подключиться к серверу MS SQL 2005 средствами С++. Желательно как можно проще, без всяких наворотов!!!! Заранее большое спасибо!!!


O>ADO — самое оно будет


Без наворотов? Как минимум COM еще нужно будет копать.
... << RSDN@Home 1.2.0 alpha rev. 786>>
Re: Подключение к MS SQL
От: pkarklin  
Дата: 15.04.08 07:48
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Доброго времени суток!!!


А>Не подскажите каким образом можно подключиться к серверу MS SQL 2005 средствами С++. Желательно как можно проще, без всяких наворотов!!!! Заранее большое спасибо!!!


MFC CDatabase и иже с ним. http://msdn2.microsoft.com/en-us/library/2dhc1abk(VS.80).aspx
Re[3]: Подключение к MS SQL
От: Oxotnik  
Дата: 15.04.08 08:13
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Без наворотов? Как минимум COM еще нужно будет копать.


ну это смотря какая IDE... в Борланде TADO... компоненты есть, работать с ними проще пареной репы
Re[2]: Подключение к MS SQL
От: Аноним  
Дата: 15.04.08 10:40
Оценка:
Здравствуйте, Oxotnik, Вы писали:

Среда разработки Visual Studio .NET 2005, но приложение нужно чтобы был чистый С++ (WinAPI). Есть у кого-нибудь примеры кода??? Нашел много различных функций для подключения из заголовочного файла SQL.h или что-то вроде того, но там он ошибки пишет, блин. Нужно библиотеки подключать руками.
Re[2]: Подключение к MS SQL
От: Аноним  
Дата: 15.04.08 10:45
Оценка:
Здравствуйте, pkarklin, Вы писали:

P>MFC CDatabase и иже с ним. http://msdn2.microsoft.com/en-us/library/2dhc1abk(VS.80).aspx


MFC нельзя использовать. Там будет служба написана, которая в базу будет писать данные, поэтому и говорю что должно быть просто. Если б можно было MFC или .NET то все легко там
Re[3]: Подключение к MS SQL
От: Bigger Российская Империя  
Дата: 15.04.08 11:06
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, pkarklin, Вы писали:


P>>MFC CDatabase и иже с ним. http://msdn2.microsoft.com/en-us/library/2dhc1abk(VS.80).aspx


А>MFC нельзя использовать. Там будет служба написана, которая в базу будет писать данные, поэтому и говорю что должно быть просто. Если б можно было MFC или .NET то все легко там


Здесь, только строку подключения нужно другую
Автор: Bigger
Дата: 17.11.05

Программист — это шаман..., подарите бубен!
Re[4]: Подключение к MS SQL
От: Аноним  
Дата: 15.04.08 15:55
Оценка:
B>Здесь, только строку подключения нужно другую
Автор: Bigger
Дата: 17.11.05


А какая должна быть строка подключения???
Если пишу: "Provider=SQLOLEDB;Data Source=SQLEXPRESS;Mode=ReadWrite;Persist Security Info=False";
Указываю потом в вызове функции
spConn->Open("","sa","____",adConnectUnspecified);

ошибка... Не подключается... В чем проблема может быть???
Re[5]: Подключение к MS SQL
От: Bigger Российская Империя  
Дата: 15.04.08 19:31
Оценка:
Здравствуйте, Аноним, Вы писали:


B>>Здесь, только строку подключения нужно другую
Автор: Bigger
Дата: 17.11.05


А>А какая должна быть строка подключения???

А>Если пишу: "Provider=SQLOLEDB;Data Source=SQLEXPRESS;Mode=ReadWrite;Persist Security Info=False";
А>Указываю потом в вызове функции
А>spConn->Open("","sa","____",adConnectUnspecified);

Во блин, здесь тоже надо менять
А>ошибка... Не подключается... В чем проблема может быть???

здесь строки подключений

Программист — это шаман..., подарите бубен!
Re[3]: Подключение к MS SQL
От: pkarklin  
Дата: 16.04.08 06:05
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, pkarklin, Вы писали:


P>>MFC CDatabase и иже с ним. http://msdn2.microsoft.com/en-us/library/2dhc1abk(VS.80).aspx


А>MFC нельзя использовать. Там будет служба написана, которая в базу будет писать данные, поэтому и говорю что должно быть просто. Если б можно было MFC или .NET то все легко там


Ну, тогда, как настоящий Джедай юзайте ODBC API.
Re[3]: Подключение к MS SQL
От: _d_m_  
Дата: 16.04.08 08:05
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, pkarklin, Вы писали:


P>>MFC CDatabase и иже с ним. http://msdn2.microsoft.com/en-us/library/2dhc1abk(VS.80).aspx


А>MFC нельзя использовать. Там будет служба написана, которая в базу будет писать данные, поэтому и говорю что должно быть просто. Если б можно было MFC или .NET то все легко там


Кто сказал, что в службах нельзя использовать MFC? И почему не написать службу .Net ?
Re[4]: Подключение к MS SQL
От: Аноним  
Дата: 16.04.08 08:46
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>Здравствуйте, Аноним, Вы писали:


А>>Здравствуйте, pkarklin, Вы писали:


P>>>MFC CDatabase и иже с ним. http://msdn2.microsoft.com/en-us/library/2dhc1abk(VS.80).aspx


А>>MFC нельзя использовать. Там будет служба написана, которая в базу будет писать данные, поэтому и говорю что должно быть просто. Если б можно было MFC или .NET то все легко там


___>Кто сказал, что в службах нельзя использовать MFC? И почему не написать службу .Net ?


Человеку может "рогатка" нужна по воробьям бить, а Вы ему предлагаете большой, не поворотливый, глючный, убогий "танк", на который Вы однажды залезли и теперь рекламируете всюду, чтобы успокоить себя, что Вы крутой специалист.

Есть отличная либа dblib, требует ntwdblib.dll и все!!!!!
Re[5]: Подключение к MS SQL
От: pkarklin  
Дата: 16.04.08 09:02
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть отличная либа dblib, требует ntwdblib.dll и все!!!!!


K 2005 через DB-Library ходить, фу, как некультурно:

Although the SQL Server 2005 Database Engine still supports connections from existing applications using the DB-Library and Embedded SQL APIs, it does not include the files or documentation needed to do programming work on applications that use these APIs. A future version of the SQL Server Database Engine will drop support for connections from DB-Library or Embedded SQL applications. Do not use DB-Library or Embedded SQL to develop new applications. Remove any dependencies on either DB-Library or Embedded SQL when modifying existing applications. Instead of these APIs, use the SQLClient namespace or an API such as OLE DB or ODBC. SQL Server 2005 does not include the DB-Library DLL required to run these applications. To run DB-Library or Embedded SQL applications you must have available the DB-Library DLL from SQL Server version 6.5, SQL Server 7.0, or SQL Server 2000.
Re[3]: Подключение к MS SQL
От: pkarklin  
Дата: 16.04.08 12:42
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Oxotnik, Вы писали:


А>Среда разработки Visual Studio .NET 2005, но приложение нужно чтобы был чистый С++ (WinAPI). Есть у кого-нибудь примеры кода??? Нашел много различных функций для подключения из заголовочного файла SQL.h или что-то вроде того, но там он ошибки пишет, блин. Нужно библиотеки подключать руками.


Примеры кода есть в документации по MDAC.
Re[6]: Подключение к MS SQL
От: Аноним  
Дата: 16.04.08 17:43
Оценка:
Здравствуйте, pkarklin, Вы писали:

Объясняю почему нельзя MFC и .NET. Это на самом деле требование к службе чтобы она была написана на Win API без MFC и никакого .NET.

А есть у кого-нибудь реальный код, который подключился бы к этому дебильному SQL Express 2005. Как-то там Microsoft намудрила. На сколько я знаю к нему по TCP/IP можно подключиться. Кто-нибудь сталкивался с этим??? Желательно с примерами кода! Спасибо!!!
Re[7]: Подключение к MS SQL
От: pkarklin  
Дата: 17.04.08 04:32
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, pkarklin, Вы писали:


А>Объясняю почему нельзя MFC и .NET. Это на самом деле требование к службе чтобы она была написана на Win API без MFC и никакого .NET.


А>А есть у кого-нибудь реальный код, который подключился бы к этому дебильному SQL Express 2005. Как-то там Microsoft намудрила. На сколько я знаю к нему по TCP/IP можно подключиться. Кто-нибудь сталкивался с этим??? Желательно с примерами кода! Спасибо!!!


Все там нормально, просто у кого-то руки кривые. Подключиться можно не только по TCP. Вас код на каком языке нужен?!
Re[7]: Подключение к MS SQL
От: Jericho113 Украина  
Дата: 17.04.08 05:31
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, pkarklin, Вы писали:


А>Объясняю почему нельзя MFC и .NET. Это на самом деле требование к службе чтобы она была написана на Win API без MFC и никакого .NET.

имхо странное требование..
оно чем то обосновано или просто (.NET не знаю а знаю апи и не хочу ничего новго учить и все надо на апи писать?)
А>А есть у кого-нибудь реальный код, который подключился бы к этому дебильному SQL Express 2005. Как-то там Microsoft намудрила. На сколько я знаю к нему по TCP/IP можно подключиться. Кто-нибудь сталкивался с этим??? Желательно с примерами кода! Спасибо!!!
если не понимаете как что то сделать с сиквелом 2005м то это не повод называть продукт "дебильным"
насколько я знаю к 2005-му можно подключиться через SharedMemory / TCP / Named Pipes и через VIA протоколы.
только не забудьте выставить разрешение для удаленных соединений в 2005м (по дефолту отключено).
кода реального предложить не могу на плюсах без использования какой либо COM либы.
NetDigitally yours ....
Re[7]: Подключение к MS SQL
От: pkarklin  
Дата: 17.04.08 06:15
Оценка:
Здравствуйте, Аноним, Вы писали:

A>Желательно с примерами кода! Спасибо!!!


ODBC API.

In the following example, an application allocates environment and connection handles. It then connects to the SalesOrders data source with the user ID JohnS and the password Sesame and processes data. When it has finished processing data, it disconnects from the data source and frees the handles.


SQLHENV     henv;
SQLHDBC     hdbc;
SQLHSTMT    hstmt;
SQLRETURN   retcode;

      /*Allocate environment handle */
retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);

if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
   /* Set the ODBC version environment attribute */
   retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0); 

   if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
      /* Allocate connection handle */
      retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc); 

      if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
         /* Set login timeout to 5 seconds. */
         SQLSetConnectAttr(hdbc, (void*)SQL_LOGIN_TIMEOUT, 5, 0);

         /* Connect to data source */
         retcode = SQLConnect(hdbc, (SQLCHAR*) "Sales", SQL_NTS,
                  (SQLCHAR*) "JohnS", SQL_NTS,
                  (SQLCHAR*) "Sesame", SQL_NTS);

         if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO){
            /* Allocate statement handle */
            retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt); 

            if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
            /* Process data */
                  ;
                  ;
                  ;

               SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
            }
            SQLDisconnect(hdbc);
         }
         SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
      }
   }
   SQLFreeHandle(SQL_HANDLE_ENV, henv);
Re[8]: Подключение к MS SQL
От: Аноним  
Дата: 18.04.08 04:44
Оценка:
Здравствуйте, Jericho113, Вы писали:

Большое спасибо за ликбез, возможности 2005 я знаю и продукт дебильным не называю. Его полноценно использую при работе с ASP.NET...

А>>Объясняю почему нельзя MFC и .NET. Это на самом деле требование к службе чтобы она была написана на Win API без MFC и никакого .NET.

J>имхо странное требование..
J>оно чем то обосновано или просто (.NET не знаю а знаю апи и не хочу ничего новго учить и все надо на апи писать?)
А>>А есть у кого-нибудь реальный код, который подключился бы к этому дебильному SQL Express 2005. Как-то там Microsoft намудрила. На сколько я знаю к нему по TCP/IP можно подключиться. Кто-нибудь сталкивался с этим??? Желательно с примерами кода! Спасибо!!!
J>если не понимаете как что то сделать с сиквелом 2005м то это не повод называть продукт "дебильным"
J>насколько я знаю к 2005-му можно подключиться через SharedMemory / TCP / Named Pipes и через VIA протоколы.
J>только не забудьте выставить разрешение для удаленных соединений в 2005м (по дефолту отключено).
J>кода реального предложить не могу на плюсах без использования какой либо COM либы.
Re[7]: Подключение к MS SQL
От: rbws  
Дата: 18.04.08 07:23
Оценка:
Здравствуйте, <Аноним>, Вы писали:

строка подключения такого вида:

Provider=SQLOLEDB;Password=pass;Persist Security Info=True;User ID=user;Initial Catalog=db;Data Source=sqlserver;Network Address=sqlserver;Network Library=DBMSSOCN

в Data Source и Network Address — один и тот же адрес sql сервера
Network Library=DBMSSOCN — это и есть явное указание использовать tcp/ip

рабочий пример уже приводили — http://www.rsdn.ru/forum/message/1494067.1.aspx
Автор: Bigger
Дата: 17.11.05
... << RSDN@Home 1.2.0 alpha rev. 774>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.