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

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

26.03.2017, 16:11. Показов 1641. Ответов 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
18240 / 14154 / 5366
Регистрация: 17.03.2014
Сообщений: 28,841
Записей в блоге: 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
18240 / 14154 / 5366
Регистрация: 17.03.2014
Сообщений: 28,841
Записей в блоге: 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
18240 / 14154 / 5366
Регистрация: 17.03.2014
Сообщений: 28,841
Записей в блоге: 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
18240 / 14154 / 5366
Регистрация: 17.03.2014
Сообщений: 28,841
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru