4 / 4 / 0
Регистрация: 21.04.2012
Сообщений: 132
1
MS Access

Запись в базу данных MDB 1000 записей в секунду

11.11.2017, 10:23. Показов 1225. Ответов 2

Author24 — интернет-сервис помощи студентам
Коллеги, добрый день!

Я работаю с биржевыми данными. Мне нужно записывать значения цен акций в БД. Цены меняются очень быстро и я одновременно отслеживаю десятки цен. В итоге получается, что в секунду нужно записать не менее 1000 записей в БД. Как будет вести себя такой при заданной нагрузке? Возможно ли такое, что некоторые записи не успеют записаться в БД? Каких ошибок стоит ожидать? Сейчас код работает исправно и без ошибок, но пока записываю 1-3 десятка записей в секунду.

Вот мой код:

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
28
29
30
    
// Path to mdb file location. Source=.. means that we creat a DB file at the same location where exe is located
    public static oledb.OleDbConnection connect = new oledb.OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" + DBLocationPath + DBFileName);
 
 
    public static void DBInserRecord(string table_name, string ticker, DateTime z, double price)
        {
 
            if (connect.State == System.Data.ConnectionState.Closed) // If no connection to DB
            {
                Console.WriteLine("No connectiong to DB! Connecting");
                DBConnect();
            }
 
            var command = new oledb.OleDbCommand("INSERT INTO ["+ table_name +"] (ticker, tick_time, price) VALUES ('" + ticker + "','" + DateTime.Now+"','" + price + "')");
 
            command.Connection = connect;
            
            try // выполнение комманды sql
            {
                command.ExecuteNonQuery(); // выпняем запрос
                //Console.WriteLine("Insert record to BD successful");
            }
 
            catch (Exception err)
            {
                Console.WriteLine("Insert record to DB error. " + err);
            }
 
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2017, 10:23
Ответы с готовыми решениями:

Запись данных в базу данных mdb с использованием DataAdapter и DataSet
Попробовал сделать Update для таблицы контактов: private void Form1_Load(object sender,...

Запись данных из таблицы xls в базу mdb
Всем привет! Возник вопрос с использованием двух бд. Есть таблица xls с данными, она открывается...

Очень медленный delete - всего 1000 записей в секунду
Есть таблицы a, b, c, d объёмом 100-500 млн каждая и с индексированным полем id и есть таблицы...

Не удается обновить базу данных (.mdb) в C#
При работе с программой не могу обновить данные в базе данных (*.mdb): connectionString =...

2
Эксперт .NET
5531 / 4296 / 1216
Регистрация: 12.10.2013
Сообщений: 12,329
Записей в блоге: 2
11.11.2017, 11:28 2
slinger, по массовой вставке записей в БД посмотрите тут.
0
4 / 4 / 0
Регистрация: 21.04.2012
Сообщений: 132
12.11.2017, 21:45  [ТС] 3
Посмотрел. Это немного нет то. В статье речь идет о добавлении записей в пакетном режиме. Мой же вопрос заключается в том, как такие пакты создать и что произойдет при использовании MDB в моем случае.
0
12.11.2017, 21:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2017, 21:45
Помогаю со студенческими работами здесь

Access. Копирование с одной базы b1.mdb содержимое в другую базу b2.mdb
Через ADOConnection1 подключил базу b1.mdb, ADOConnection2 подключил базу b2.mdb. В каждой из баз...

Как вывести количество записей(строк) таблици базы данных mdb в программе?
Пишу программу, которая отображает таблицу базы данных. Как сделать чтобы в программе отображалось...

Как вывести записей(строк) таблици базы данных mdb в мемо, в цикле for?
Подскажите пожалуйста, как сделать выборку по определенным полям таблици, и вывести результат в...

Подключение БД: при перемещении mdb-файла вместе с exe-файлом программа не находит базу данных
Помогите решить проблему. Выполнил подключение к БД, но при перемещении файла "Библиотека.mdb"...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru