Страница 1 из 2

Установка часового пояса для базы данных

Добавлено: 01 дек 2019, 18:50
alexeyfressko
Здравствуйте.

Есть ли возможность в момент когда генератор отчета устанавливает новое соединение в MySQL базой данных - выполнять эту команду:

SET time_zone='America/Bogota';

Дело в том что у нас несколько пользователей и каждый может работать со своим часовым поясом.

Если этой возможности нет - можно ли добавить?

Спасибо.

Re: Установка часового пояса для базы данных

Добавлено: 04 дек 2019, 15:15
Aleksey
Здравствуйте,

Отдельно выполнить данную команду возможности нет.

Как вариант, попробуйте добавить ее в источники данных перед основными запросами.

Спасибо.

Re: Установка часового пояса для базы данных

Добавлено: 26 июл 2020, 20:43
alexeyfressko
Здравствуйте.

Появилась ли возможность сделать это? Хочется перейти с Reports.Java на Reports.WEB но из-за того, что нельзя установить часовой пояс, пока не переходим.

Re: Установка часового пояса для базы данных

Добавлено: 30 июл 2020, 00:44
Aleksey
Здравствуйте,

Как вариант, попробуйте добавить в запрос источника данных.

Спасибо.

Re: Установка часового пояса для базы данных

Добавлено: 30 июл 2020, 16:23
alexeyfressko
Пробую

Делаю источник данных первым но все равно время отображается неправильно.

В каком порядке происходит выборка из источников данных?

Re: Установка часового пояса для базы данных

Добавлено: 30 июл 2020, 17:44
alexeyfressko
Пробую определить ConnectionOrder, но тоже не работает:

Код: Выделить всё

            String tz = "America/Managua";// (String)session["tz"];

            StiMySqlSource tzset;

            if (result.Dictionary.DataSources.Contains("tzset")) {
                tzset = ((StiMySqlSource)result.Dictionary.DataSources["tzset"]);

                tzset.SqlCommand = "set time_zone='" + tz + "'";
            } else {
                tzset = new StiMySqlSource("MobilVendor", "tzset", "tzset", "set time_zone='" + tz + "'");

                result.Dictionary.DataSources.Insert(0, tzset);
            }

            var order = 1;

            foreach (var source in result.Dictionary.DataSources) {
                if (source is StiMySqlSource) {
                    if (source == tzset) {
                        ((StiMySqlSource)source).ConnectionOrder = 0;
                    } else {
                        ((StiMySqlSource)source).ConnectionOrder = order++;
                    }
                }
            }

Re: Установка часового пояса для базы данных

Добавлено: 03 авг 2020, 23:41
Aleksey
Здравствуйте,

Попробуйте добавить в сам запрос:
set time_zone='America/Managua';
select NOW() as date;

Спасибо.

Re: Установка часового пояса для базы данных

Добавлено: 04 авг 2020, 02:34
alexeyfressko
Мне не подходит данный способ.

У меня 100 разных баз данных, в каждой по 100 отчетов.

Я хочу автоматически добавлять источник данных, если его еще нет в отчете, и чтобы в этом источнике данных выполнялась эта команда. Данная команда должна выполняться первой.

Re: Установка часового пояса для базы данных

Добавлено: 07 авг 2020, 16:28
Aleksey
Здравствуйте,

Постараемся рассмотреть данный вопрос, о результатах дадим знать.

Спасибо.

Re: Установка часового пояса для базы данных

Добавлено: 29 сен 2020, 15:18
alexeyfressko
Здравствуйте.

Какие нибудь новости есть по этому вопросу?