RoRu
27.01.22
✎
12:04
есть большая база, 1с рекомендует выставить при обновлении параметр реструктуризации оптимизированный
выставляю — получаю ошибку.
а как просто посмотреть кол-во проводок в БП , может и старым методом пройдёт , там от 100 000 пишут новый запускать ?
админы сторонние , ошибку им передал, но и тут спрошу, может кто в курсе
В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка
по причине:
В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка
по причине:
Критическая ошибка работы Java-процесса.
Путь к Java: C:\Program Files\Java\jre1.8.0_321\bin\java.exe
Действие: prepare
Process ID: 5340
Код возврата: 1
Ошибка: Exception in thread «main» com._1c.dmf.v8.cli.ApplicationException: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: «The server selected protocol version TLS10 is not accepted by client preferences [TLS12]». ClientConnectionId:de2212d4-8a77-49f8-8f42-0bfd41a57046
at com._1c.dmf.v8.cli.jdbc.mssql.MsSqlDataSourceFactory.getYearOffset(MsSqlDataSourceFactory.java:105)
at com._1c.dmf.v8.cli.jdbc.mssql.MsSqlDataSourceFactory.create(MsSqlDataSourceFactory.java:51)
at com._1c.dmf.v8.cli.Migration.run(Migration.java:81)
at com._1c.dmf.v8.cli.Migration.main(Migration.java:65)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: «The server selected protocol version TLS10 is not accepted by client preferences [TLS12]». ClientConnectionId:de2212d4-8a77-49f8-8f42-0bfd41a57046
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2435)
at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1816)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2022)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1687)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1528)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:866)
at com.microsoft.sqlserver.jdbc.SQLServerDataSource.getConnectionInternal(SQLServerDataSource.java:968)
at com.microsoft.sqlserver.jdbc.SQLServerDataSource.getConnection(SQLServerDataSource.java:69)
at com._1c.dmf.v8.cli.jdbc.V8DataSource.getConnection(V8DataSource.java:36)
at com._1c.dmf.v8.cli.jdbc.mssql.MsSqlDataSourceFactory.getYearOffset(MsSqlDataSourceFactory.java:86)
… 3 more
Caused by: javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted by client preferences [TLS12]
at sun.security.ssl.Alert.createSSLException(Unknown Source)
at sun.security.ssl.Alert.createSSLException(Unknown Source)
at sun.security.ssl.TransportContext.fatal(Unknown Source)
at sun.security.ssl.TransportContext.fatal(Unknown Source)
at sun.security.ssl.TransportContext.fatal(Unknown Source)
at sun.security.ssl.ServerHello$ServerHelloConsumer.onServerHello(Unknown Source)
at sun.security.ssl.ServerHello$ServerHelloConsumer.consume(Unknown Source)
at sun.security.ssl.SSLHandshake.consume(Unknown Source)
at sun.security.ssl.HandshakeContext.dispatch(Unknown Source)
at sun.security.ssl.HandshakeContext.dispatch(Unknown Source)
at sun.security.ssl.TransportContext.dispatch(Unknown Source)
at sun.security.ssl.SSLTransport.decode(Unknown Source)
at sun.security.ssl.SSLSocketImpl.decode(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1753)
… 11 more
palsergeich
27.01.22
✎
12:11
МихаилМ
27.01.22
✎
12:37
(1) не осилит.
Ёпрст
27.01.22
✎
13:03
(0) короче, нужно в java.security найти строки с tlsv1
Ёпрст
27.01.22
✎
13:03
и удалить из алгортима
Ёпрст
27.01.22
✎
13:04
Ёпрст
27.01.22
✎
13:05
открыть java.security, найти jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, и в ней удалить TLSv1, TLSv1.1
Ёпрст
27.01.22
✎
13:05
усё.
RoRu
27.01.22
✎
14:28
(2) с чего бы ?
зы у меня прав нет, админам передал
Епрст- спасибо, но вроде всё понятно там
МихаилМ
27.01.22
✎
14:36
(8) т.к. не владеет минимальным базовым навыком пользования поисковыми сервисами интернет.
т.е. проф. непригодны
arsik
27.01.22
✎
14:53
Самое простое удалить эту джаву и установить из дистрибутива с сайта 1С
RoRu
27.01.22
✎
15:10
(10) спасибо !
Ёпрст
27.01.22
✎
15:12
(0)
>>>>а как просто посмотреть кол-во проводок в БП
какой формат базы, для начала..файловая что ле ?
RoRu
27.01.22
✎
15:14
(12)
sql
вопрос был средствами 1с
зы я консультант
Ёпрст
27.01.22
✎
15:14
(13) ИР открой да гляди.
Перед реструктуризацией V2 прибей все итоги V2, тогда даже не заметишь, как и пройдёт.
Ёпрст
27.01.22
✎
15:15
* прибей все итоги РБ
Ёпрст
27.01.22
✎
15:16
и да, 20 релиз я бы не ставил, лучше 18
RoRu
27.01.22
✎
15:18
(16) да, это понятно, везде 18 ставим
RoRu
27.01.22
✎
15:19
(14) точно
RoRu
27.01.22
✎
15:51
(10) а как узнать какую из 4ёх на сайте ?
arsik
27.01.22
✎
17:49
(19) Достаточно JRE, JDK нужно для разработчиков. 11 или 8 — У вас сейчас стоит 8, но я бы выбрал 11.
RoRu
27.01.22
✎
17:55
(20) а в принципе любая должна подойти, чтобы реструктуризация по новому на sql взлетела? правильно я понимаю ?
или там возможны заморочки?
arsik
27.01.22
✎
19:07
(21) Да
Dunemaster
27.01.22
✎
23:28
Ваша проблема вызвана тем, что в новых сборках Java (JDK/JRE) старый протокол TLS 1.0 запрещен как небезопасный, а MS SQL Server пытается использовать именно ее
Какие могут быть решения:
1) Использовать более старую версию Java (не релиз, а именно версию внутри врупного релиза т.е какую более раннюю версию Java
2) Изменить умолчания Java, как описано в (6)
3) Обновить MS SQL Server, чтобы он использовал более современные версии TLS
У Microsoft есть подробная инструкция
Dunemaster
27.01.22
✎
23:28
RoRu
28.01.22
✎
00:12
в рабочее время отгрузки, так что я могу только вечером делать
(22) установил с сайта 1с 11 версию , сначала не видело яву, прописал в кфг
стало ругаться на TLSv1, TLSv1.1
прописал в секюрити явы — написало нету классов в 11 яве
поставил 8ую, снова прописал путь в кфг и поправив секьюрити — взлетело
(24) я не особо в теме, а админы особого желания разбираться не изъявляли, ну и имхо это сложнее , чем исправить секьюрити
всем спасибо !
МихаилМ
28.01.22
✎
00:30
(25) если админы не понимают устно ,то переходите на письменно. это азы правил корпоративного выживания. за одно и свою персону прикроете.
Нам всем знакомо, как долго может идти обновление: это может занимать несколько часов, а в некоторых случаях – даже
несколько дней.
Однако, его можно заметно ускорить. А для этого нужно немного погрузиться в детали и поговорить о реструктуризации
Когда в 1С изменяются метаданные (добавляются документы, реквизиты, индексы), происходит изменение структуры таблиц.
При запуске обновления создается полная копия таблицы, включая индексы – уже с новой структурой. Этот процесс называется реструктуризацией. Разумеется, это все занимает довольно заметное время.
Для случаев, когда объемы данных небольшие, это не так чувствительно.
Но реструктуризация больших баз, в которых содержатся таблицы с десятками миллионов строк, может затянуться на несколько часов или даже дней. Потеря такого количества времени – это уже весьма болезненно.
Еще в платформе 8.3.11 появился механизм, который помогает ускорить реструктуризацию в разы, а в некоторых случаях – на порядки.
С момента выхода этого релиза прошло уже 5 лет, но, судя по вопросам в Мастер-группе, до сих пор многие не знакомы с этим механизмом и не знают о его преимуществах.
Сегодняшнее видео закрывает этот вопрос:
- Объясняем, чем механизм, который появился в 8.3.11, отличается от стандартного способа реструктуризации
- Показываем, как настроить и использовать новый механизм
- Демонстрируем его преимущества и рассказываем о его недостатках
- Объясняем, кому необходим этот механизм, а кому переходить на него не стоит.
Если Вы недовольны тем, с какой скоростью проходит реструктуризация в ваших базах, это видео обязательно к просмотру.
Но даже если Вы работаете в маленькой компании и с этой проблемой еще не столкнулись – рекомендуем все-таки найти 17 минут и посмотреть его. Если завтра Вы поменяете работу и столкнетесь с такой проблемой – не придется волноваться из-за того, что Вы не в курсе таких нюансов.
Ключевые моменты видео:
- 00:00 – Постановка задачи
- 00:28 – Старый способ реструктуризации и его недостатки
- 01:50 – Новый способ реструктуризации
- 02:17 – Плюсы нового способа
- 03:04 – Установка Java на сервер 1С
- 04:18 – Настройка файла conf.cfg на клиенте
- 05:40 – Демонстрация работы старого механизма
- 07:36 – Демонстрация работы нового механизма
- 08:58 – Особенности использования нового механизма
- 09:10 – Включение протокола TCP/IP для СУБД
- 10:52 – Проверка сторонних индексов
- 13:20 – Настройка параметра MAXDOP в MS SQL
- 16:36 – Итоги
После курса Вы сможете:
- Оценивать состояние системы в любой момент времени
- Быстро находить причины замедления в программном коде – и сразу писать его так, чтобы замедления в будущем не было
- Отслеживать динамику производительности за определенный период
- Устранять ожидания на блокировках и решать проблемы со взаимоблокировками
Для кого этот курс
Вам нужен этот курс, если Вы хотите:
- Писать код, за который не стыдно – в нестабильное время особенно важно быть в компании на хорошем счету
- Быть востребованным специалистом – на каждом втором собеседовании спрашивают про умение оптимизировать 1С
- Не терять клиентов из-за того, что «ваша 1С тормозит, а вы ничего не делаете» – это и раньше было нехорошо, а теперь и вовсе непозволительная роскошь.
<?php // Полная загрузка сервисных книжек, создан 2023-01-05 12:44:55
global $wpdb2;
global $failure;
global $file_hist;
///// echo '<H2><b>Старт загрузки</b></H2><br>';
$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
///// echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}
$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
///// echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}
/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
///// echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
///// echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist); ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7]; ////получаем размер файла
$m_mtime_file=$masiv_data_file[9]; ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file
///// echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
///// echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
///// echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);
if ($results)
{ foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));
////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
///// echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
///// echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}
////загружаем данные
$table='vin_history'; // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация // (путь от корня web-сервера)
$delim=';'; // Разделитель полей в CSV файле
$enclosed='"'; // Кавычки для содержимого полей
$escaped='\
Related Posts
Восстановление последовательности документов при закрытии месяца в Бухгалтерия 3.0 не завершается
Заполнение табличных частей
Формирование сводных актов выполненных работ
Ввод поступления в переработку на основании передачи сырья (между организациями)
Конспект по установке сервера 1С на linux
Получение имени компьютера и его IP локально и в терминале
46 Comments
-
-
(1) да, весьма в тему, спасибо!
Reply ↓
-
Буду тестировать скоро отключение режима совместимости 8.2))) БД почти 3 ТБ.
Reply ↓
-
Двойственные чувства.
С одной стороны слава тебе Господи, наконец-то 1С сподобилась взяться за то, что куча народа ждало еще со времён 7.7. С другой стороны тут и Java, тут и Powershell… А сплясать в водолазном костюме в гамаке не надо?
Reply ↓
-
(4) аналогичные чувства… только обрадоваться хотел, но остался вопрос, почему нельзя сделать это всё прямо из платформы, по кнопке «сделать всё хорошо»?
Reply ↓
-
(4) Java — это отголоски наработок по платформе 1C 8.4. Развитие этой версии идет медленно и новостей давно не слышно, но ее наработки постепенно появляются в 8.3. На Java никто писать не заставляет, а представить машину без JRE сейчас сложно. И судя по всему с Java придется дружить всё больше — EDT, сервер взаимодействия и т.д.
Powershell для примера же приведен. Там кроме команды запуска 1С с параметрами «UpdateDBCfg -Server -v2» и нет ничего, одна консольная команда. Не внешнюю же обработку для выполнения одной консольной команды писать…
Reply ↓
-
Я один раз пробовал.
Мне вывело сообщение ошибка и на какой то внутренний модуль.
Гугл сказал что ничего не светит. я сказал ок и по старому за 6 часов обновился.
Обидно конечно.
Reply ↓
-
Интересно что за данные в базе на 1тб.
Reply ↓
-
(6)
Там кроме команды запуска 1С с параметрами «UpdateDBCfg -Server -v2» и нет ничего
CMD не подойдёт?
Reply ↓
-
(8)скорее всего продажи, чеки, заказы на перемещение / перемещения на магазины.
У нас база 3 Тб
Reply ↓
-
(8)Размер базы обычной небольшой торговой сети, может быть еще с небольшим производством…
Reply ↓
-
Можно и cmd. Друзья, конечно это не одна кнопка «сделать всё хорошо», но уже существенный задел. База — склад, продажи, логистика. Плюс у нас ещё и РИБ. Механизм обновления активно используем, все работает… На ИТС информации мало, поэтому посчитал нужным поделиться опытом и отчитаться об успехе) в дальнейшем неплохо было бы иметь возможность обновляться пакетно с возможностью логгировать ход обновления
Reply ↓
-
(12)пока логирование обновления можно наблюдать на стороне базы данных
Reply ↓
-
У конфигурации режим совместимости был 8.3.11? Или ниже?
Reply ↓
-
(14) режим совместимости был выключен. Но думаю, в режиме совместимости 8.3.11 должно отработать
Reply ↓
-
(15) значит как и завялено при режиме совместимости 8.3.10 все будет по старому!
Reply ↓
-
О даааа!!!!! Это случилось! В 1С выучили Alter Table!
Reply ↓
-
Малину портит только » На сервере 1С обязательно должен быть установлен runtime Java 8″. Вопрос «зачем так» наверное риторический…
Reply ↓
-
(18) весь «интеллект» умных скриптов T-SQL написан на Java, в недрах платформы, насколько я понял ))
Reply ↓
-
(19) т.е. можно в принципе написать левый скрипт на Java, который реструктуризует базу под новую конфигурацию и зальет туда измененный cf с гитхаба или с какого нибудь каталога?
И все будет работать?
Reply ↓
-
(19) в недрах платформы Java нет, иначе мы бы это уже «почувствовали».
Пока надеюсь что и не будет.
Reply ↓
-
-
(20) можно декомпильнуть то что написано, подправить и юзать как хочется теперь 🙂
Reply ↓
-
(23) на каждое добавление булева не надекомпилируешься. Но сама идея о неразрывном совмещении данных в базе и их интерфейса достаточно спорная.
При том, что на все итоги и индексы, целостность которых якобы гарантирует платформа, существуют процедуры SQL, выполняющие пересчеты.
Reply ↓
-
(22) ну как-то же она тексты скриптов собирает, в зависимости от выполненных действий в конфигураторе
Reply ↓
-
(26) мы бы тоже хотели знать как и почему alter возник только сейчас. Исторически сложилось, что реструктуризация выполнялась таким образом в DBF. Сначала все измененные файлы складывались в папку NewStru, затем копировались вместо находящихся в базе. Почти цитирую старый мануал: при возникновении сбоя на первом этапе файлы в базе будут первоначальных вариантов и никакие данные не будут утеряны.
При возникновении сбоя на втором этапе часть данных в базе может стать некорректной, но всегда есть возможность скопировать файлы из NewStru и завершить процесс реструктуризации вручную. Исходили из положения что бакап и изменение структуры в процессе работы с DBF по-горячему сделать невозможно, а программист, обслуживающий конфигурацию не полезет в dbf и работу платформы, но точно знает основы работы с файлами в файловом менеджере.
В SQL есть возможность добавить колонку в таблицу в процессе работы. Немонопольно. Это не проблема для SQL, это проблема конфигуратора, который не умеет работать одновременно с разными версиями данных (до и после) какой то реструктуризации.
Reply ↓
-
(7)
Вот такое у меня сейчас. Ковыряемся. Ради спортивного интереса хочу докопаться до причин.
В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка
по причине:
Критическая ошибка работы Java-процесса.
Путь к Java: C:Program FilesJavajre1.8.0_181injava.exe
Действие: prepare
Process ID: 22296
Код возврата: 1
Ошибка: Exception in thread «main» java.lang.IllegalStateException: Duplicate key ae4a0c5e-f97b-4cf4-96d8-c040bf8e222b
at java.util.stream.Collectors.lambda$throwingMerger$0(Unknown Source)
at java.util.HashMap.merge(Unknown Source)
at java.util.stream.Collectors.lambda$toMap$58(Unknown Source)
at java.util.stream.ReduceOps$3ReducingSink.accept(Unknown Source)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.collect(Unknown Source)
at com._1c.dmf.v8.converters.parameters.documentjournal.GraphContent.<init>(GraphContent.java:24)
at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeGraphContent(ConfigurationModelParser.java:352)
at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeValue(ConfigurationModelParser.java:208)
at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeParameter(ConfigurationModelParser.java:172)
at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeAttributeParameter(ConfigurationModelParser.java:155)
at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeEntityParameters(ConfigurationModelParser.java:139)
at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeParameters(ConfigurationModelParser.java:112)
at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.parse(ConfigurationModelParser.java:92)
at com._1c.dmf.v8.internal.integration.Arguments.getOldModel(Arguments.java:84)
at com._1c.dmf.v8.internal.integration.DmfService.prepareMigration(DmfService.java:64)
at com._1c.dmf.v8.cli.Migration.run(Migration.java:90)
at com._1c.dmf.v8.cli.Migration.main(Migration.java:65)
Reply ↓
-
(28)
at java.util.HashMap.merge(Unknown Source)
Да что то очень похожее.
Причем все базы кроме нужной реструктурировались новым методом нормально.
Но там было не к спеху, и я просто сделал по старинке.
Изменений очень много было, может в этом была проблема?
Reply ↓
-
(28) поставь Яву не 181, а 171 или младше
Reply ↓
-
(21) я на java драйвера для фискальных регистраторов пишу, очень удобно, т.к. один код работает под виндой, линуксом и андроидом. Что я делаю не так? С++ я тоже умею.
Reply ↓
-
(31) драйвера или обёртки для готовых dllso ?
Reply ↓
-
(32) библиотеки работы с com/usb готовые, драйвера мои что-то типа….
@Override
public ByteBuffer getCommand() {
ByteBuffer data = ByteBuffer.allocate(12 + cashier.length() + cashierFiscalId.length());
data.order(ByteOrder.LITTLE_ENDIAN);
data.putShort((short) 2); // отчет об открытии смены
data.putShort((short) (4 + cashier.length() + 4 + cashierFiscalId.length()));
data.putShort((short) 1021);
data.putShort((short) cashier.length());
data.put(cashier.getBytes(Charset.forName(«IBM866»)));
data.putShort((short) 1203);
data.putShort((short) cashierFiscalId.length());
data.put(cashierFiscalId.getBytes(Charset.forName(«IBM866»)));
setData(data);
return super.getCommand();
}
Reply ↓
-
(0) Спасибо за интересный материал! Не подскажите, режим совместимости с 8.2.13 возможно заставить работать этот механизм?
Reply ↓
-
(34) к сожалению, нет. Вам придется прибегать к другим методам… О том, как добавлять колонки и индексы в большие таблицы БД — куча статей есть на ИС, в том числе и у меня (не реклама)
Reply ↓
-
Надо добавить, что для клиент — серверного варианта базы нужно перезапустить службу сервера 1С
У меня возникла ошибка
В процессе обновления конфигурации базы данных при работе механизма реструктуризации второй версии произошла критическая ошибка
по причине:
При работе механизма реструктуризации второй версии возникла ошибка. Код возврата: 1. Операция: execute.
Версия платформы 8.3.13.1513
Reply ↓
-
(0) молодцы! ждем вьюхи
Reply ↓
-
(21) Ну при всей моей нелюбви к Джаве, я бы все-таки не стал называть ее мусором 🙂 Тот же Apache Kafka на ней написан и шустр до безобразия.
Reply ↓
-
(2) и еще в догонку по теме «для тех кто тюнингует 1С+MS SQL» http://v8.1c.ru/predpriyatie/questions_licence.htm#lrvs1cpp
это к последнему апдейту
ВАЖНО: Если обновление по v2 падает с ошибкой — одна из причин может быть в том, что в вашей БД есть индексы, отличные от стандартных платформенных (добавленные вручную) — их необходимо физически удалить (именно удалить, а не отключить) перед запуском обновления.
Reply ↓
-
А, говорят, Java теперь платная, Oracle денег просит за её использование
не в домашнем применении.
Reply ↓
-
(4) я думал только у меня такое ощущение)
Reply ↓
-
почти типовая УПП…
В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка
по причине:
Критическая ошибка работы Java-процесса.
Путь к Java: C:Program Files (x86)Javajre1.8.0_221injava.exe
Действие: prepare
Process ID: 2660
Код возврата: 1
Ошибка: Exception in thread «main» java.lang.OutOfMemoryError: Java heap space
Reply ↓
-
Эта проблема решилась добавлением опции JavaOpts=-Xmx2048m в conf.cfg, но теперь ошибка без расшифровки
Критическая ошибка работы Java-процесса.
Путь к Java: C:Program Files (x86)Javajre1.8.0_221injava.exe
Действие: prepare
Process ID: 3392
Код возврата: 1
Ошибка:
Reply ↓
-
повышение режима совместимости УПП до 8.3.1 результатов не дало. Видать сырая еще опция
Reply ↓
-
(44) механизм работает с версии 8.3.11. Совместимость должна быть не ниже этой версии
Reply ↓
-
(45)
Неверно. У меня в режиме совместимости 8.3.6 отрабатывает.
Reply ↓
-
(1) Ирония в том, что в старом механизме реструктуризации указание MAXDOP=0 используется по умолчанию, она добавлена в качестве опции в запросе на создание индекса.
А вот в новом механизме, который описан в данной статье, разработчики почему-то забыли эту опцию включить в запрос и если в настройках сервера MAXDOP равен 1, то реструктуризация будет медленнее чем хотелось бы . Возможно следует в статье 4-м пунктом добавить, что включение на сервере MAXDOP=0 на время реструктуризации, дополнительно ускорит этот процесс.
Reply ↓
Leave a Comment
Ваш адрес email не будет опубликован. Обязательные поля помечены *
Предыстория
Нужно нам было создать новый регистр сведений «ЖурналОтслеживанияСообщений». Добавили в конфигурацию, загрузили данные. Затем пошла работа по оптимизации. Пришлось менять структуру регистра. Но не тут-то было!
Тут все ясно. Записи стали неуникальными, нужно их удалить!
Самой простой способ это:
НоваяЗапись = РегистрыСведений.ЖурналОтслеживанияСообщений.СоздатьНаборЗаписей();
НоваяЗапись.Записать();
Таким методом мы очистим регистр в 1С очень быстро (но это будет и нашей ошибкой).
Ошибка
Казалось бы, в регистре пусто, и можно обновлять 1С. Не хочу вас удивить, но будет снова ошибка:
Что же представляет ошибка:
В процессе обновления информационной базы произошла критическая ошибка
по причине:
Попытка вставки неуникального значения в уникальный индекс:
Microsoft SQL Server Native Client 11.0: The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name «dbo._InfoRgChngR34546NG» and the index name «_InfoR34546_ByNodeMsg_RNTSRRRRRRNG». The duplicate key value is (0x00000011,d7, , Sep 27 4015 10:22PM, 768404,00,00,00,00,00,00).
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=10, native=1505, line=1
Пояснение
Давайте разберемся со структурой SQL. У нас есть регистр «ЖурналОтслеживанияСообщений», он в SQL находится в таблице «_InfoR34546″. Проверить это вы можете специальными обработками или методом «тыка» (нам это не придется делать т.к. в тексте ошибки уже указано название таблицы).
А теперь поясню, что же произошло. Когда мы загрузили данные в регистр, то в SQL они попали в таблицу »
_InfoR34546″. Когда мы кодом в 1С очистили таблицу, то эти данные удалились из таблицы »
_InfoR34546″, но они скопировались в таблицу «_InfoRgChngR34546″. Это и стало проблемой.
Решение
Для решения возникшей проблемы нам понадобится очистить SQL
таблицу »
_InfoRgChngR34546″.
Расскажу на примере «Microsoft SQL Server Management Studio». Заходим в «Management Studio». Находим нашу базу, открываем вкладку таблиц, кликаем на любую и жмем кнопку «Новый запрос»:. Теперь набираем запрос
Truncate table «_InfoRgChngR34546
»
У вас может быть и другая таблица! Не забывайте!
И жмем выполнить или клавишу «F5». Вот такой должен быть результат:
Все, теперь можно спокойно обновлять 1С, и ошибки не будет!
Песочница
авторитет
18 сентября 2013 в 15:24
1С, восстановление конфигурации информационной базы с использованием MS SQL
В свое время столкнулся с проблемой: при обновлении конфигурации из хранилища, произошел сбой, и закрылась 1С.
Как выяснилось позднее – произошло разрушение хранилища конфигурации и при обновлении конфигурации из хранилища слетела и конфигурация БД. Подобная ошибка возникала прежде при динамическом обновлении ИБ.
Т.к. данная проблема возникала не однократно решил поделится вариантом лечения.
При следующем запуске конфигуратора вышла ошибка: «Внимание!!! При обновлении данных, после последней реструктуризации, произошла ошибка. Повторить обновление?» при утвердительном ответе получаем сообщение: «Обнаружена незавершенная операция сохранения конфигурации. Для продолжения работы необходимо завершить операцию» после этого приложение закрывается.
При разборе данной проблемы было найдено несколько вариантов решения проблемы, каждое решение работает в разных случаях.
Вариант 1 (при наличии бэкапа SQL c копией с идентичной конфигурацией):
Разворачивается копия ИБ, и выполняется запрос следующей конструкции:
USE
GO
DELETE FROM ..
GO
INSERT INTO .. SELECT * FROM ..
GO
При этом пере заливается таблица в которой хранится конфигурация ИБ. Желательно после данной операции выполнить тестирование и исправление ИБ.
Вариант 2 (при отсутствии бэкапа):
К данному варианту обратились как к последней соломинке. Т.к. конфигурация была в стадии разработки и про бэкап немного позабыли понадеясь на хранилище.
В базе удаляются две записи из таблицы «Config» по значению в столбце «FileName» — dbStruFinal и commit
Выполняется следующий запрос:
USE
GO
DELETE FROM .
WHERE FileName = «dbStruFinal»
GO
DELETE FROM .
WHERE FileName = «commit»
GO
Как ни странно база оживает.
Теги:
1с предприятие 8.2, SQL, восстановление конфигурации
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит
При работе в «1С:Предприятие» может всплыть следующее сообщение: «Для работы с новой версией 1С:Предприятия должно быть выполнено преобразование информационной базы». Почему появляется это окно и как можно устранить ошибку?
В большинстве случаев причина появления окна – недавний переход программы с устаревшей версии платформы на более новую. У разных платформ информационная база 1С
формируется по-своему и принимает разный состав. Всё, что требуется сделать – произвести конвертацию базы данных (структура которой соответствует устаревшей платформе) в самый новый формат.
Преобразование БД
Процедура эта несложная, однако, сначала рекомендуется создать резервную копию базы, на случай, если во время конвертирования произойдёт ошибка (например, отключится компьютер, в результате информационная база 1С
, как и сама программа, могут повредиться). Затем примените следующий алгоритм действий:
- Откройте БД в режиме конфигуратора;
- Вы увидите сообщение с предложением конвертировать информационную базу. Нажмите подтверждение;
- Закройте конфигуратор.
Откройте базу данных – она должна запуститься без проблем. Если после преобразования окно с ошибкой продолжает появляться, можно попробовать выполнить процедуру повторно. В случае, когда и это не помогает, необходимо обратиться к программисту 1С. Иногда при выполнении операции программа может подвисать. Не надо в этот момент предпринимать никаких действий.
Важно! Информационная база 1С
, преобразованная последней версией программы, не может быть открыта на предыдущих версиях.
Переезжали мы на новый сервер. На нем SQL и 1C. В сравнении со старыми был намного круче. И тест Гилева это тоже подтвердил: против 10-15 на старых серверах выдавал 39. Поэтому мы сразу после покупки перенесли базу и начали работу.
Но в какой-то момент что-то пошло не так — пользователи стали жаловаться на медленную работу. Произвели определенные настройки сервера и служб (какие — тема отдельного поста) и решили перезагрузить сервер, благо скорость перезагрузки — 2 минуты (на других серверах до 10 доходило). После этого при входе в 1С получаем следующее сообщение:
«Внимание!!! При обновлении данных, после последней реструктуризации, произошла ошибка. Повторить обновление?» «Да, Нет»
После нажатия кнопки «Да» появляется следующее:
«Обнаружена незавершенная операция сохранения конфигурации. Для продолжения работы необходимо завершить операцию.»
Первое, что решил сделать — CHECKDB на в Managment Studio — после 2х часов ожидания (база 500 ГБ) — все ОК.
На просторах сети нашел информацию, что такая же ошибка бывает при динамическом обновлении.
Решения, предложенные в сети сходу не помогли, но вкупе с другими действия дали результат. Итак, что я делал:
Решение:
- То, чего не хватало для решений из сети:
sp_configure ‘allow updates’, 1
reconfigure with override
go
2. Переводим базу в режим восстановления
alter database set EMERGENCY, SINGLE_USER
3. Выполняем тестирование базы:
dbcc checkdb(‘db_name’, REPAIR_ALLOW_DATA_LOSS)
4. Выводим базу из режима восстановления:
alter database set ONLINE, MULTI_USER
5. В принципе, если уверены что с самой базой все ок, то можно не делать 2-4 пункты. Далее выполняем два запроса в профайлере SQL:
delete from config where FileName = ‘commit’
delete from config where FileName = ‘ dbStruFinal’
Эти записи и отвечают за динамическое обновление — можно не бояться их удалять.
В рабочих версиях баз запросы:
select * from Config WHERE FileName = ‘commit’
select * from Config WHERE FileName = ‘dbStruFinal’
будут пустые.
6. возвращаем настройки:
sp_configure ‘allow updates’, 0
go
7. После этого удалось запустить конфигуратор и база заработала.
Также база может заработать после удаления первого флага.
Как исправить зависание Центра обновления Windows?
Windows — одна из самых популярных операционных систем, а также одна из самых «подверженных проблемам» операционных систем.
Когда мы говорим о Windows, в первую очередь мы думаем об обновлениях.
В большинстве случаев процесс обновления не сильно беспокоит пользователей, но иногда во время работы обновление Windows зависала, и это могло быть проблемой.
В этой статье мы расскажем, как исправить застывание или зависание обновления Windows.
Как исправить зависание Центра обновления Windows?
Как узнать, зависло ли обновление Windows?
Если вы видите одно из этих сообщений в течение длительного времени (более 3 часов), скорее всего, обновление зависло (применимо для Windows 10/8/7/Vista).
- Подготовка к обновлениям Windows, не выключайте компьютер (обычно встречается в Windows 10),
- Настройка обновлений Windows, xyz% завершено, компьютер не выключайте (часто встречается в Windows 7/8/Vista),
- Работаем над обновлениями, xyz% завершен, не выключайте компьютер (Windows 10/8/7),
- Не выключайте компьютер, пока это не будет сделано. Установка обновления x из x… (Windows 7/Vista),
- Готовим Windows, не выключайте компьютер.
Мы рекомендуем вам подождать не менее 3-4 часов, если вы увидите какое-либо из вышеперечисленных сообщений, как будто процесс обновления идет нормально, и вы пытаетесь что-то сделать, могут возникнуть дополнительные сложности.
Причин очень много, но одна из распространенных причин, по которой обновление может зависнуть, заключается в конфликте существующего программного обеспечения с существующими обновлениями.
Если у вас есть старый ноутбук с индикатором жесткого диска, вы можете определить, зависло ли обновление или нет.
Если индикатор мигает с регулярным интервалом, это означает, что ОС обновляется, и вам не нужно ничего делать.
Однако если индикатор не мигает, можно предположить, что обновление зависло.
Возможные решения проблемы зависания Центра обновления Windows
1. Перезагрузка компьютера
Не нужно беспокоиться о появлении на экране сообщения «Пожалуйста, не выключайте компьютер».
Вы можете вернуться к Windows 10 после принудительного выключения без каких-либо проблем.
В худшем случае вы можете столкнуться с ошибками на диске, которые Windows автоматически исправит при следующей загрузке.
Нажатие «Ctrl + Alt + Del» также иногда срабатывает, если обновление застряло на определенной фазе.
Если это произойдет, компьютер перезагрузится, и вас встретит загрузка Windows.
2. Загрузитесь в безопасном режиме
Если с вашим компьютером что-то не так, вы можете определить проблему, загрузившись в безопасном режиме.
В безопасном режиме Windows загружается с минимальным набором драйверов, отвечающих за загрузку вашего компьютера, при отключении других ненужных функций.
Если с обновлением что-то пойдет не так, вы автоматически загрузитесь в безопасном режиме.
Кроме того, существует множество способов загрузиться в безопасном режиме.
Один из часто используемых методов — это переход в меню «Питание — Выбор варианта перезапуска», удерживая клавишу «Shift».
Это вызовет дополнительные параметры, из которых вы можете перейти в «Параметры запуска — Включить безопасный режим» и нажать на перезагрузку.
Затем вы можете перезагрузить компьютер и нормально загрузиться в Windows.
3. Использование восстановления системы
При каждом обновлении Windows создает точки восстановления, которые можно использовать, если в процессе обновления что-то пойдет не так.
Сделать это можно так:
Зайдите в «Панель управления».
Перейдите в «Система и безопасность — Система».
Найдите «Защита системы» слева от логотипа Windows.
В открывшемся новом окне найдите и нажмите «Восстановление системы».
Остальная часть процесса довольно очевидна.
После того, как все будет сделано, нажмите кнопку перезагрузки, и вы загрузитесь с предыдущими обновлениями Windows.
4. Использование дополнительных параметров для запуска восстановления
Если обновление зависло и компьютер не загружается, вам нужно будет создать загрузочный USB-накопитель с Windows 10 на нем.
Вы можете сделать это с помощью «Rufus», который является отличным инструментом для создания загрузочных USB-накопителей.
Когда вы закончите создание загрузочного USB, войдите в меню загрузки, нажав клавишу F2 / F12, когда во время загрузки появится логотип производителя.
Выберите параметр «Загрузить с USB / DVD-привода», чтобы загрузить программу установки Windows 10.
Внизу вы найдете опцию «Восстановить Windows 10», нажмите на нее, и вы войдете в меню «Дополнительные параметры».
5. Тестирование на сбой памяти
Повторная установка ОЗУ или жесткого диска — еще одно решение этой проблемы.
Эта проблема встречается реже, но если вы пробовали любой другой метод и не увидели результатов, вам следует продолжить и протестировать память с помощью таких инструментов, как «MemTest86».
6. Переустановка Windows
Если ничего из вышеперечисленных методов не работает, вероятно, ОС или ее файловая система повреждены и нуждаются в переустановке.
Шаги для этого такие же, как шаги, упомянутые в разделе номер 4 «Использование дополнительных параметров для запуска восстановления».
Единственная разница в том, что вместо того, чтобы нажимать «Восстановить Windows 10», вам нужно нажать «Пуск» и пошагово следовать процессу.
Если вы не столкнулись ни с одной из вышеперечисленных проблем и пришли сюда просто для получения знаний, мы предлагаем вам сделать резервную копию вашего жесткого диска.
В большинстве случаев упомянутый выше метод «Переустановки Windows» должен устранить проблему.
Однако ничто не решает проблему — не остается другого варианта, кроме переустановки Windows.
Если вы нашли решение проблемы с застыванием или зависанием обновления Windows, прочитав эту статью, сообщите нам об этом в разделе комментариев ниже.
Поделитесь этим с кем-нибудь из ваших знакомых, кто сталкивается с той же проблемой.
Долго выполняются дополнительные процедуры обновления 1С
После обновления программы 1С запускается обработка для дополнительной обработки данных. Иногда она зависает и может висеть очень долга. При этом пользователи не могут работать в 1С, не могут провести документы. При этом если запустить базу, что выходит окно “Результаты обновления программы”
Результат обновления программы
Версия программы успешно обновлена на версию 11.4.13.148
Выполняются дополнительные процедуры и обработки данных на версию 11.4.13.148
Работа с этими данными временно ограничена
Приоритет: Работа пользователей или Обработка данных 8 потоками
Как принудительно обновить 1С
Если столкнулись с такой проблемой, то можно ускорить процесс обновления 1С. Для этого переходим в меню НСИ и Администрирование – Обслуживание – Регламентные операции – Регламентные и фоновые задания”:
На закладке “Регламентные задания” находим строку с названием “Отложенное обновление ИБ”, устанавливаем на нее курсор и нажимаем кнопку “Выполнить сейчас”
Через несколько минут в окне, где ранее было зависшее обновление 1С начнется процесс обновления и вскоре увидите окно с сообщением “Дополнительные процедуры обработки данных завершены”. Закрываете его и можно начинать работу.
Как ускорить процесс реструктуризации и обновления 1С в разы
Нам всем знакомо, как долго может идти обновление: это может занимать несколько часов, а в некоторых случаях – даже
несколько дней.
Однако, его можно заметно ускорить. А для этого нужно немного погрузиться в детали и поговорить о реструктуризации 🙂
Когда в 1С изменяются метаданные (добавляются документы, реквизиты, индексы), происходит изменение структуры таблиц.
При запуске обновления создается полная копия таблицы, включая индексы – уже с новой структурой. Этот процесс называется реструктуризацией. Разумеется, это все занимает довольно заметное время.
Для случаев, когда объемы данных небольшие, это не так чувствительно.
Но реструктуризация больших баз, в которых содержатся таблицы с десятками миллионов строк, может затянуться на несколько часов или даже дней. Потеря такого количества времени – это уже весьма болезненно.
Еще в платформе 8.3.11 появился механизм, который помогает ускорить реструктуризацию в разы, а в некоторых случаях – на порядки.
С момента выхода этого релиза прошло уже 5 лет, но, судя по вопросам в Мастер-группе, до сих пор многие не знакомы с этим механизмом и не знают о его преимуществах.
Сегодняшнее видео закрывает этот вопрос:
- Объясняем, чем механизм, который появился в 8.3.11, отличается от стандартного способа реструктуризации
- Показываем, как настроить и использовать новый механизм
- Демонстрируем его преимущества и рассказываем о его недостатках
- Объясняем, кому необходим этот механизм, а кому переходить на него не стоит.
Если Вы недовольны тем, с какой скоростью проходит реструктуризация в ваших базах, это видео обязательно к просмотру.
Но даже если Вы работаете в маленькой компании и с этой проблемой еще не столкнулись – рекомендуем все-таки найти 17 минут и посмотреть его. Если завтра Вы поменяете работу и столкнетесь с такой проблемой – не придется волноваться из-за того, что Вы не в курсе таких нюансов.
Ключевые моменты видео:
- 00:00 – Постановка задачи
- 00:28 – Старый способ реструктуризации и его недостатки
- 01:50 – Новый способ реструктуризации
- 02:17 – Плюсы нового способа
- 03:04 – Установка Java на сервер 1С
- 04:18 – Настройка файла conf.cfg на клиенте
- 05:40 – Демонстрация работы старого механизма
- 07:36 – Демонстрация работы нового механизма
- 08:58 – Особенности использования нового механизма
- 09:10 – Включение протокола TCP/IP для СУБД
- 10:52 – Проверка сторонних индексов
- 13:20 – Настройка параметра MAXDOP в MS SQL
- 16:36 – Итоги
Умение находить и устранять причины медленной и нестабильной работы систем на 1С обязательно для программистов 1С
После курса Вы сможете:
- Оценивать состояние системы в любой момент времени
- Быстро находить причины замедления в программном коде – и сразу писать его так, чтобы замедления в будущем не было
- Отслеживать динамику производительности за определенный период
- Устранять ожидания на блокировках и решать проблемы со взаимоблокировками
Для кого этот курс
- Писать код, за который не стыдно – в нестабильное время особенно важно быть в компании на хорошем счету
- Быть востребованным специалистом – на каждом втором собеседовании спрашивают про умение оптимизировать 1С
- Не терять клиентов из-за того, что «ваша 1С тормозит, а вы ничего не делаете» – это и раньше было нехорошо, а теперь и вовсе непозволительная роскошь
Комментарии / обсуждение (26):
Добрый день, вижу только текстовый материал, по какой-то причине видео отсутствует или не отображается на странице, почему?
Здравствуйте, Анастасия!
Проверили — видео на странице воспроизводится корректно.
Попробуйте почистить кэш и cookie-файлы. Если это не решит проблему, стоит проверить настройки браузера, установленные в нем расширения и плагины либо воспользоваться другим браузером.
Добрый день!
Включал новый механизм. Вроде бы прошло. После пришлось поставить версию java выше 8. Стала появляться ошибка.
Отключил новый механизм, но стала появляться ошибка:
“В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка
по причине:
Критическая ошибка работы Java-процесса.
Путь к Java: C:\Program Files\BellSoft\LibericaJRE-11-Full\\bin\java.exe
Действие: revert
Process ID: 5764
Код возврата: 1
Ошибка: Exception in thread “main” java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:4061)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3157)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$100(SQLServerConnection.java:82)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3121)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7151)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2478)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2026)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1687)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1528)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:866)
at com.microsoft.sqlserver.jdbc.SQLServerDataSource.getConnectionInternal(SQLServerDataSource.java:968)
at com.microsoft.sqlserver.jdbc.SQLServerDataSource.getConnection(SQLServerDataSource.java:69)
at com._1c.dmf.v8.cli.jdbc.V8DataSource.getConnection(V8DataSource.java:36)
at com._1c.dmf.v8.cli.jdbc.mssql.MsSqlDataSourceFactory.getYearOffset(MsSqlDataSourceFactory.java:86)
at com._1c.dmf.v8.cli.jdbc.mssql.MsSqlDataSourceFactory.create(MsSqlDataSourceFactory.java:51)
at com._1c.dmf.v8.cli.Migration.run(Migration.java:81)
at com._1c.dmf.v8.cli.Migration.main(Migration.java:65)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
… 17 more”
Можете подсказать в чем тут дело?
Значит у вас в файле conf по прежнему стоит параметр для использования нового механизма обновления. Проверьте файл conf и на клиенте и на сервере.
Проверял и на сервере и на клиенте. Все убрал. Но все равно выходила ошибка. Выходила не на всех базах, только на одной. Хотя все базы расположены на одном сервере 1С.
Помогла переустановка платформы на сервере.