Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 18.03.2017
Сообщений: 23

Ошибка подключения к MS Sql Server

26.03.2017, 16:11. Показов 1675. Ответов 8

Студворк — интернет-сервис помощи студентам
Привет! Прошу помощи в установлении соединения с БД MS SQL SERVER
C++
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
mass = gcnew array<System::String ^>(124);
        String^ con = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=Lale_Antilop;ApplicationIntent=ReadWrite";
        OleDbConnection^ connect = gcnew OleDbConnection(con);
        OleDbCommand^ command = connect->CreateCommand();
        command->CommandText = "select * from products";
        command->Connection = connect;
        try
        {
            connect->Open();
            OleDbDataReader^ dr = command->ExecuteReader();
            int i = 0;
            while (dr->Read())
            {
                mass[i] = dr["код"]->ToString();
                i++;
            }
        }
        catch (const char *answer)    //Блок срабатывает в случаи возникновения исключения
        {
            std::cout << answer;
            system("pause");
        }
        finally     //Блок срабатыввает после окончания блока try или catch
        {
            //Закрываем соединение с базой данных.
            connect->Close();
        }
Данный код должен был установить соединение с базой и считать один столбец в массив.
Подключение а "обозревателе серверов" устанавливается без проблем, а вот по ходу выполнения программы не могу получить данные
В этой строке
C++
1
OleDbDataReader^ dr = command->ExecuteReader();
выпадает исключение
вот текст исключения:
"Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности, проверьте значения всех состояний OLE DB. Работа не выполнена."

Помогите исправить данный код или по другому выполнить задачу.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.03.2017, 16:11
Ответы с готовыми решениями:

Ошибка подключения к sql server
Пытаюсь к приложению на c# в visual studio подключить базу данных на sql server 2014 что значит эта ошибка? как подключиться?

Подключение к БД и ошибка "стандартные параметры SQL Server не разрешают удаленные подключения"
Выдает:Ошибка при подключении к серверу. При подключении к SQL Server 2005 эта ошибка может быть вызвана тем, что стандартные параметры SQL...

Ошибка подключения к SQL (SQL Server не существует, или доступ запрещен.)
Привет Всем уважаемые форумчане! Вопрос такой, у себя на ПК (На котором пишу программу) - запускаю свою программу, спокойно всё...

8
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18282 / 14205 / 5368
Регистрация: 17.03.2014
Сообщений: 28,884
Записей в блоге: 1
26.03.2017, 18:49
Walkiriya, попробуй через родные SqlClient классы (System::Data::SqlClient)
C++
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
List<String^>^ codes = gcnew List<String^>^();
String^ con = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=Lale_Antilop;ApplicationIntent=ReadWrite";
SqlConnection^ connect = gcnew SqlConnection(con);
SqlCommand^ command = connect->CreateCommand();
command->CommandText = "select код from products";
command->Connection = connect;
SqlDataReader^ dr;
try
{
    connect->Open();
    dr = command->ExecuteReader();
    while (dr->Read())
    {
        codes->Add(dr["код"]->ToString());
    }
}
finally
{
    if (dr != nullptr) dr->Close();
    //Закрываем соединение с базой данных.
    connect->Close();
}
 
// List<T> лучше чем массив, но если нужен именно массив, то убери комментарий со следующей строки
// mass = System::Linq::Enumerable::ToArray(codes);
1
0 / 0 / 0
Регистрация: 18.03.2017
Сообщений: 23
28.03.2017, 14:59  [ТС]
OwenGlendower, да ,как раз так и сделал. А не мог бы ты подсказать как отправить запрос ну удаление и изменение записей?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18282 / 14205 / 5368
Регистрация: 17.03.2014
Сообщений: 28,884
Записей в блоге: 1
28.03.2017, 15:02
Walkiriya, INSERT/UPDATE/DELETE запросы выполняются с помощью ExecuteNonQuery
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
String^ con = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=Lale_Antilop;ApplicationIntent=ReadWrite";
SqlConnection^ connect = gcnew SqlConnection(con);
SqlCommand^ command = connect->CreateCommand();
command->CommandText = "delete from ...";
command->Connection = connect;
try
{
    connect->Open();
    command->ExecuteReader();
}
finally
{
    connect->Close();
}
1
0 / 0 / 0
Регистрация: 18.03.2017
Сообщений: 23
28.03.2017, 16:04  [ТС]
OwenGlendower, сработало, большое спасибо!
0
0 / 0 / 0
Регистрация: 18.03.2017
Сообщений: 23
03.04.2017, 12:04  [ТС]
OwenGlendower, привет! Не мог ли ты подсказать какую кодировку использовать для записи в БД? И как это реализовать на C++ ?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18282 / 14205 / 5368
Регистрация: 17.03.2014
Сообщений: 28,884
Записей в блоге: 1
03.04.2017, 13:10
Walkiriya, на стороне C++/.NET кодировку нет необходимости указывать. Единственное что может понадобиться это использовать префикс N у строк в SQL запросе или, реже, указать collation в запросе. Тут больше на стороне сервера настройки нужно делать - указать правильный collation для БД, таблиц или колонок, использовать n* строковые типы данных для unicode строк.
0
0 / 0 / 0
Регистрация: 18.03.2017
Сообщений: 23
03.04.2017, 17:09  [ТС]
OwenGlendower, а можно поподробнее? Не могу найти настройки, есть свойства, но я не могу их изменять.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18282 / 14205 / 5368
Регистрация: 17.03.2014
Сообщений: 28,884
Записей в блоге: 1
03.04.2017, 20:56
Walkiriya, подробнее о чем именно? О каких свойствах идет речь?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.04.2017, 20:56
Помогаю со студенческими работами здесь

Ошибка подключения к sql server
Добрый день. Что за ошибка?Не хватает дров?

Ошибка подключения к SQL Server
Доброго времени суток. Сегодня столкнулся с проблемой Windows авторизации в SQL SERVER, хотя вчера было всё нормально!!! Думаю, причиной...

Ошибка подключения при переводе Базы данных из SQL SERVER в Mysql
Второй день пытаюсь перевести базу из SQL SERVER на Mysql через Workbench. :wall: Оба сервера запущены. Использую : Database -&gt;...

Выгрузка таблицы из ms sql server 2012 в intelij idea 2016(ошибка подключения Class.forName)
Товарищи подскажите пож. новичку, как сделать коннект через код, целый день сижу мучаюсь, соединение в database intelij произвести...

Ошибка в JDBC и SQL Server: Not associated with a trusted SQL Server connection.
Помогите please: нужно на Java подключиться к базе данных, администрируемой на MS SQL Server, вроде все пишу правильно а он выдает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru