Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с кодом на VC++ для соединения с MS SQL и отправкой запроса.. / 3 сообщений из 3, страница 1 из 1
27.06.2015, 14:07
    #38994291
Shegelmeger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста с кодом на VC++ для соединения с MS SQL и отправкой запроса..
Добрый день!
Помогите пожалуйста с написанием кода для соединения и отправки запроса на удаленный MS SQL SERVER 2012 на VC++..
Используется Visual Studio 2013 Pro.
Прочитал кучу форумов, но собрать в единое целое никак не могу (

Скрипт вытаскивает из двух логов на двух удаленных машинах строку вида 1234,1235,1236,3456/3456, преобразует ее к виду '1234','1235','1236','3456'
соединяется с Ms Sql Server находящимся по адресу ip 10.22.31.108 и посылает запрос:
Код: sql
1.
2.
3.
4.
5.
6.
Select *
From exec_history AS h (NOLOCK)
Where account in ('1234','1235','1236','3456')
And account Not In (Select account
                  From exec_history AS h (NOLOCK)
                    Where [status] = 1)


далее результат запроса выводится в файл.

На Perl код выглядит так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
#!perl -w
use strict;
use Win32::SqlServer;
use Time::localtime;
use feature ":5.10";
 
my $tm = localtime;
my ($day, $month, $year) = ($tm->mday, $tm->mon + 1, $tm->year + 1900);
my $end_date = $year.'-'.sprintf("%.2ld", $month).'-'.sprintf("%.2ld", $day);
 
open INFILE, '\\\\10.11.12.136\\exec1\\'.$end_date.'.log' || die('Unable to open input file.');
my $res = "";
while (<INFILE>) {
    chomp;
    if (m/Accounts:/) {
        $res = "\'".$';
        $res =~ s/,/\', \'/g;
        $res =~ s/;/\'/g;
        $res =~ s/\/[^']*'/'/g;
    }
}
close INFILE;
 
open INFILE, '\\\\10.11.12.137\\exec2\\'.$end_date.'.log' || die('Unable to open input file.');
my $res1 = "";
while (<INFILE>) {
    chomp;
    if (m/Accounts:/) {
        $res1 = "\'".$';
        $res1 =~ s/,/\', \'/g;
        $res1 =~ s/;/\'/g;
        $res1 =~ s/\/[^']*'/'/g;
    }
}
close INFILE;
 
my $sqlsrv = sql_init('10.22.31.108', 'Alex', 'Alex19987', 'bd_test');
 
my $st = <<SQLEND;
select account, date_end from exec_history AS h (NOLOCK)
Where account in (
SQLEND
        
$st .= $res.' , '.$res1;
 
$st .= <<SQLEND;
)
And account Not In (Select account
                  From exec_history AS h (NOLOCK)
                    Where [status] = 1)
SQLEND
 
my @result = $sqlsrv->sql($st, Win32::SqlServer::LIST, Win32::SqlServer::COLINFO_NAMES);
 
#$mess .= join ("</b></td><td align=center bgcolor=#dfdfdf><b>", @{$result[0]});
 
open OUTFILE, '>result.txt' || die('Unable to open input file.');
 
foreach my $row (@result[1..$#result])
{
        print OUTFILE join("\t", @$row), "\n";
}
 
close OUTFILE;




Проблема заключается в том, что я никак не могу понять как установить соединение с Ms Sql и отправить запрос в C++
Заранее благодарен за любую помощь!
...
Рейтинг: 0 / 0
27.06.2015, 14:14
    #38994292
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста с кодом на VC++ для соединения с MS SQL и отправкой запроса..
ShegelmegerПроблема заключается в том, что я никак не могу понять как установить
соединение с Ms Sql и отправить запрос в C++
В последнее время рекомендуется использовать ODBC. Т.е. всё как в примерах на MSDN:
https://msdn.microsoft.com/en-us/library/ms714163(v=vs.85).aspx
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.06.2015, 14:54
    #38996026
Shegelmeger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста с кодом на VC++ для соединения с MS SQL и отправкой запроса..
Dimitry Sibiryakov,
Спасибо :)
Сделал через ADO. Всю информацию нашел на MSDN
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с кодом на VC++ для соединения с MS SQL и отправкой запроса.. / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]