Развернуть базу 1с на mysql
Похожих статей достаточно много, но эту я в первую очередь писал для себя, останавливаясь на примечаниях, в которых описаны возможные проблемы. Надеюсь статья будет полезна и другим.
1. Устанавливаем 1С платформу
2. Устанавливаем MS SQL server 2008. При установке задаем пользователя баз данных. (Который SA).
После установки открываем панель администрирования серверов 1С предприятия и видим что она пуста.
Нужно создать сервер: Открываем console root->Central 1C: Enterprise 8.2 servers. Кликаем по нему правой кнопкой мыши и выбираем пункт new. В выпадающем меню выбираем Центральный сервер 1С Предприятия 8.2. Перед нами откроется окошко с 4-мя полями:
Протокол — протокол по которомы будут передаваться данные
Имя — имя компьютера в сети на котором располагается сервер
IP порт- порт по которому доступен сервер
Описание-описание. не обязательно.
Примечание:
Если платформа 1С была установлена на компьютер, и потом компьютер был переименован, то достучаться до него вы не сможете, потому что платформа 1С шибко умная платфома и записывает в определенные файлики при установке имя компьютера, но потом, когда имя компьютера менятся платформа их уже не перепишет. Эти файлики нужны для работы сервиса RAGENT 1С (его можно найти в запущеных службах, через панель администрирования сервера windows). Это все говорит о том, что чтобы переименовать эти файлы-необходимо остановить службу RAGENT. Сами файлы находятся в следующих местах:
C:\Program Files (x86)\1cv82\srvinfo\srvribrg
C:\Program Files (x86)\1cv82\srvinfo\reg_1541\1CV8Reg
Открываем эти файлии блокнотом и правим прошлое имя машины на настоящее ручками. Сохраняем и запускаем RAGENT.
Возвращаемся к настройке:
После того как заполнено окно с полями нажимаем кнопку OK и если все сделано верно то у нас появляется сервер по имени машины, на которй он стоит.
И так. Сервер запущен и теперь нам нужно создать базу на MYSQL server и связать ее с севером 1C. Есть несколько способов-здесь я опишу самый простой:
На сервере 1С предприятия открываем наш новый созданный сервер кликом по + рядом с названием сервера и на пункте «ИНФОРМАЦИОННЫЕ БАЗЫ» кликаем правой кнопочкой мыши, выбираем New->Информационная база
Перед нами откроется окно в котором будут следующие поля:
Имя-имя нашей базы данных на сервере 1С (Как правило многие его пишут таким же как как и в поле база данных, чтобы не путаться)
Описание-описание
Защищенное соединение-по умолчанию выключено. можно включить но тогда нагрузка на сервер возрастет
Сервер баз данных-если сервер на этом же сервере то указываем (local) именно так в скобочках, если не на этом сервере то указываем ip сервера
Тип СУБД-Выбираем тип MS SQL
База данных-имя базы данных на сервере MS SQL. Если базы нет то в одном из чекбоксов можно поставить галочку и она создастся
Пользоватлель сервера БД-Указываем либо того пользователя которого создаваи при установке, либо создаем отдельного пользователя в MS SQL, задаем ему права и прописываем его здесь.
Пароль пользователя сервера БД-пароль
Разрешить выдачу лицензий сервером 1С предприятие-выбираем да
Страна-Выбираем страну
Смещение дат-ставим в 0
Чекбокс «Создать базу в случае отсутсвия»-тот самый чекбокс для создания базы, если ее нет
Чекбокс «Установить блокировку регламентных заданий»-не ставим галочку
Нажимаем ОК и видим что серверы настроены и у нас в закладке «Информационные базы» появилась информационная база под именем которое мы ей дали.
Далее осталось настроить BackUp. О том какие бывают я рассказывать не буду-информации и так море. Можно например посмотреть в этой замечательной статье.
Чтобы нстроить Backup нам нужно открыть Microsoft SQL MANAGEMENT STUDIO.
Вводим логин и подключаемся к серверу.
Перед нами административная консоль. В Object explorer открываем вкладку Management и в ней видим Maintance plans. Здесь будем создавать нужный нам BackUP. Как обычно правый клик по Maintance plans->new maintance plan. В главном окне появится вкладка subplan, а под Object Explorer появится еще одно окошечко ToolBox в котором вложен Maintance Plans Tasks. В ней мы выберем Back Up DataBase Task кликнув по нему 2 раза. Он перенесется на главное окно. На нем кликаем 2 раза и перед нами появляется окно опять же с полями, где мы можем выбрать какой Back Up делать, какую базу BackUp-ить, и куда это сохранять. По окончании настроек нужно нажать Ok.
Примечание:
Сохраняя Back Up в какую либо сетевую папку (путь кстати придется прописать ручками, потому, что оконко выбора директории видит только локальные рессурсы) проследите за правами доступа, и заодно проследите какая у вас аутентификация на сервере MySql потому что если аутентификация выставлена не по учетным записям Windows, а по внутреннему пользователю СУБД и если при этом у вас поднят сервер AD то BackUp будет выдавать ошибку при попытке исполнения, поскольку будет это делать от имени внутреннего пользователя СУБД и AD его не пропустит никуда кроме локального компьютера.
После того как вы настроили путь, базу и тип BackUp нужно настроить расписание. Для этого в главном окошке над созданным вами Task есть табличка SubPlan. В конце таблички (справа) есть иконка календаря. Кликнув на нее вы попадете в настройку расписания. Отмечая чекбоксы дней и выставляя время вы настроите расписание. Кликнув 2 раза на поле под названием SubPlan вы сможете изменить название Task-a. Настроив все пройдите в File->Save All. После сохранения в Maintance plans появится Task c вашим названием который вы дали BackUp-у.
По окончании настройки нужно обязательно проверить Работу. Для этого Правой клавишей мыши кликните на созданном Task и выполние Exicute.
Примечание:
Если Exicute выполняется с ошибкой читайте ошибки которые вам выдаст Studio, и первым делом проверьте запуще ли у вас SQL server agent. Это он занимается выполнением заданий и функция Exicute обращается именно к нему за выполнением заданий. Если он не запущен попытка выполнения потерпит неудачу. Дял того чтобы посмотреть работатет ди агент или нет в Studio в Object Explorer пройдите во вкладку SQL Server Agent . Если на иконке булет красный кружок с крестиком- значит агент остановлен. ЗАпустить его можно кликнув на нем правой кнопкой мыши и выбрав к контекстном меню опцию START.
Интересует вопрос можно ли посадить 1С на mysql. В интернете пишут что можно. если кто знает подскажите или ссылочку на мануал.
Не нравятся платные скуль от МС и Оракл, ставь бесплатный ПостГре или от ИБМ
смысл в танцах с mysql?
(5) Лучше MS SQL или Оракл
и если они все таки бесплатные. то посоветуйте какую лучше использовать. будем вешать 1С: Документооборот
DB2 и PostgreSQL бесплатные, но маленькое уточнение.
DB2 бесплатный - это "кастрированная" версия аналог MS SQL express.
и работает только с одной БД.
Т.е. на каждую БД нужно ставить отдельную инстанцию DB2.
Лучший выбор PostgreSQL. Использую уже более 5 лет доволен как "Слон" :)
Не зря наверное логотип PostgreSQL - Слон.
(8) bzmax,
Вы не совсем правы. у DB2 Express ограничений только 2:
1) один инстанс использует не более 4 Гб памяти;
2) один инстанс использует не более 2 ядер.
При этом в системе может быть несколько инстансов.
В каждом инстансе может быть несколько баз.
По сравнению с ПГ ДБ2 транзакционник. Поэтому для решения проблем блокировок на ПГ придется переписывать конфигурацию на управляемые блокировки.
обе СУБД требуют тонкой настройки параметров и понимания принципов работы в отличии от МС где все работает "из коробки".
Вообщем есть нюансы, что умеете, то и ставьте. На небольших базах бесплатный ДБ2 не уступает ПГ.
(31) GreyJoJo,
И Да и Нет.
То что вы описали - это действительно касается DB2 Express.
Но 4 Гига может использовать только 10-ый Express.
1C на момент написания одобрен пока что только 9.7 релиз. (2Г оперативки)
Да и само 1С категорически рекомендует на один инстанс только одну(!) БД запускать.
Так что в бесплатности лидер пока что только Постгрес.
Тем более в новых редакциях конфигураций(на управляемых формах) в нем великолепно работают блокировки на уровне записей. Проверено одновременным проведением 25 разных документов 25-ю разными пользователями.
(33) bzmax,
Насчет рекомендаций 1С одна база один инстанс - не слышал такого, буду благодарен если поделитесь ссылкой.
Согласен, в плане бесплатности и отсутствия ограничений ПГ лидер. Но он требует даже для автоматизации на 3 р.м. тонкой настройки конфигов. МС такого не требует.
При небольшом внедрении на 10-15 р.м. вполне достаточно ограничений ДБ2. При этом УТ 10.3 не на управляемых блокировках. ДБ2 не требует их внедрения. ПГ - обязательно.
на внедрениях до 50 р.м. (50 р.м. неплохой такой ларек :) ) МС СКЛ работает прекрасно и из коробки (требуется только настройка регламенов через мастер за 15 минут).
Так что не все так однозначно. В каждом случае надо смотреть и выбирать оптимальное решение.
Для тех кто мучается выбором могу дать 3 простых совета:
1) Если есть возможность купить МС (хотя бы воркгруп) - берите.
2) Если надо дешево/бесплатно в первую очередь смотрите на то с чем умеете работать или есть человек который сможет помочь.
3) Считайте не просто стоимость лицензии а совокупную стоимость владения. Она далеко не всегда сама низкая у бесплатных продуктов.
1) Если есть возможность купить МС (хотя бы воркгруп) - берите.
2) Если надо дешево/бесплатно в первую очередь смотрите на то с чем умеете работать или есть человек который сможет помочь.
3) Считайте не просто стоимость лицензии а совокупную стоимость владения. Она далеко не всегда сама низкая у бесплатных продуктов.
Вот это точно! :) Подпишусь под каждым словом.
Берите PostgreSQL. Не видел ещё не одного теста с mysql в котором бы говорилось, что данная база может работать с большим количеством данных. Если у вас мало пользователей и маленькая база то используйте 1С в файловом варианте, а не придумывайте новый самокат, существующих достаточно.
(10) aston7777,
Как и в MS SQL. У PostgreSQL свои отличные механизмы и "бекапа" и "ресторе". И многое другое.
Почитайте мануалы
методы MySQL можно выполнять посредством com соединенения через obdc, некоторые вещи у нас реализованы таким образом
С каких это пор MySQL стала транзакционной, что вы про нее в контексте 1С спрашиваете?
С postgres вполне можно работать, нюансы:
- требуется версия от 1С.
- сначала ставим 1С-овский postgres, и только потом делаем yum update. Иначе - конфликты разгребать.
- Centos используйте stable 5 ветки. Никогда не ставьте опенсорс последнего релиза. Чревато неожиданностями.
- Лично мне лого postgres напоминает некую уныло висящую часть тела утопленника. Но это уже дело вкуса. ;)
(20)
[quote]
С каких это пор MySQL стала транзакционной
[/quote]
Уже лет пять как или поболе :)
А именно - с момента появления в MysQL таблиц InnoDB.
Вот только один момент все портит: в MySQL вы получаете либо скорость либо транзакции. В последнем случае, почти уверен,
это будет медленнее, чем все то, что шатно прелагается в качестве СУБД для 1C.
В общем, тема топика, если и интересна, то чисто теоретически.
InnoDB - говно сраное. Простите если сможете! =//
Даже аргументировать не хочу - и так все ясно.
ЗЫ и форканье этого дела - тоже мартышкин труд. Учитывая существование того же postgres.
блин, а смысл спрашивать "а смысл"? не знаешь - ну так и скажи - "не знаю", или лучше вообще не засирай тему.
вопрос актуальный - как их прикрутить один к другому, этот 1С и майэскьюэл.
для особо интересующихся "смыслом" - есть 1С и есть сайт у хостера, куда постгре, инодэбэ, дэбэдва и прочие пряники не ставятся. надо их соединить, но, желательно, не файликами и кнопками, а соединением с базой.
буду благодарен за помощь.
(24) dmb2006vesna, Не вижу причины, по которой благородному дону не пойти в гугль поискать внешнюю компоненту. Под семерку несколько лет назад я нашел легко и непринужденно.
Кроме того, если нам не требуется INSERT, можно воспользоваться ВнешнимиИсточникамиДанных при наличии подходящего ODBC драйвера.
имхо - postgres или mssql, нефиг даже ковыряться с mysql
если вопрос в цене - бери postgres, но на ней весьма странно отрабатывают механизмы блокировок
Повышение скорости работы 1С, отказоустойчивости системы.
Программные продукты фирмы 1С имеют два основных формата хранения базы данных: файловая база данных и база данных, размещенная на SQL Server средствами СУБД
В список поддерживаемых СУБД входят:
- Microsoft SQL Server
- PostgreSQL
- Oracle Database
- IBM Db2.
Файловые базы данных, как правило, используют небольшие компании с 1-5 пользователями, где нет большого объема документооборота, а также не произойдет быстрого роста объема базы данных.
Когда нужно переходить с файловой базы 1С на СУБД MS SQL?
Если конфигурация долго открывается и также долго открываются и проводятся документы, если периодически выскакивают ошибки «Нарушена целостность базы данных» или «Файл базы данных поврежден», файл ИБД *.1СD имеет объем более 5ГБ, планируется рост пользователей или в результате внедрения еще одной конфигурации 1С планируется достаточно быстрый рост объема данных, пора задуматься о вопросе, как перенести файловую базу 1С на SQL поскорее и узнать, что такое сервер 1С.
Рис.1 Формат хранения информационных баз 1С
Преимущества SQL
Если переход все же вызывает некоторые колебания, стоит учесть, что преимуществ у клиент-серверного варианта значительно больше, чем недостатков, а у файлового – наоборот.
При высокой отказоустойчивости и поддержке бесконечно большой базы данных SQL-сервер дает возможность одновременной работы большому числу пользователей. Конечно, наиболее мощные СУБД – MS SQL Server/Oracle стоят недешево, но бесплатный вариант PostgreSQL также широко используется в среде 1С. Да, SQL требует настройки сервера 1С и администрирования, но подобные услуги оказывает широкий круг компаний-франчайзи 1С, и конечно же – наша.
Работа с файловой базой плохо защищена, потому что доступ к копированию файла БД открыт любому пользователю, плохо масштабируется и начинает «тормозить», когда пользователей становится больше пяти из-за высокого уровня изоляции транзакций, а также имеет ограничения по размеру в 5-10 Гб. При этом отдельные функции конфигурации при таком варианте просто не работают (к примеру, регламентные задания).
Да, быстрая настройка, отсутствие дополнительного ПО и низкая цена – весьма привлекательные «черты» файловых БД, но выбор в их пользу может иметь место только при построении самой простой информационной системы.
Рис.2 Пример частой ошибки при работе с файловой базой объемом более 5Гб
Этапы перехода на внешнюю СУБД
Для переноса файловой базы 1С 8.3 на сервер SQL проделаем следующие шаги:
Шаг №1 Выгрузка ИБ
Откроем конфигуратор файловой версии базы 1С.
Рис.3 Список конфигураций 1С. Запуск конфигуратора
В конфигураторе выбираем пункт меню «Администрирование» и «Выгрузить информационную базу».
Рис. 4 Формирование файла выгрузки ИБД
Итогом процесса выгрузки будет файл *.dt.
Рис. 5 Файл Выгрузки ИБД
Шаг №2 Создание кластера
Для данного пункта запустим консоль управление сервером 1С.
Рис. 6 Ярлык консоли управления сервера 1С
Важно: Для работы сервера 1С обязательно требуется установка лицензии на сервер 1С.
Лицензия бывает 32х-разрядная и 64х-разрядная. Разрядность определяет количество ОЗУ доступное серверу 1С: у 32х до 4ГБ, а 64х более 4ГБ.
Для уточнения цен, подбора сервера для 1С с учетом плановых нагрузок и форматов обслуживания таких систем обратитесь к нашим специалистам. Мы с радостью подберем для вас подходящее решение.
В открывшемся приложении выберите «Кластер-Создать кластер», а если кластер уже создан, выберите существующий.
Рис. 7 Администрирование кластера 1С
Шаг №3 Создание базы данных в кластере
Следующим шагом в процессе миграции базы 1С будет создание новой конфигурации в кластере. Существует два возможных варианта создания базы 1С на сервере 1С:
- Через консоль администрирования кластера 1С;
- Через окно запуска 1С:Предприятие.
Создание информационной базы в кластере через консоль администрирования кластера 1С
Чтобы создать базу 1С в СУБД SQL, выбираем «Создание новой информационной базы» и заполнить обязательные поля:
- Имя – название вашей базы 1С;
- Сервер баз данных – указываем имя кластера 1С;
- База данных – название базы данных в вашей СУБД SQL;
- Пользователь сервера БД – логин от администратора СУБД SQL;
- Пароль сервера БД – пароль от администратора СУБД SQL.
Рис. 8 Создание новой ИБД SQL в кластере 1С
Далее добавляем эту ИБД в список 1С для последующего запуска конфигуратора 1С и загрузки ранее подготовленного файла выгрузки базы. После того как база в кластере создана, добавляем ее в список баз 1С. Для этого запускаем 1С:Предприятие и «Добавить…» базу 1С.
Рис.9 Запуск 1С:Предприятие
Далее выбираем «Добавление в список существующей информационной базы» и переходим «Далее».
Рис. 10 Меню выбора действий
После появления формы добавления базы 1С, заполняем последние строки в списке и переключаем режим работы на «На сервере 1С:Предприятие».
Рис. 11 Окно заполнения данных для подключения базы 1С
Запуск 1С:Предприятие и добавление конфигурации
Этот способ быстрее предыдущего и бывает полезен, когда, например, вы не установили у себя компоненту консоли управления при установке платформы. Чтобы им воспользоваться, запускаем 1С:Предприятие и в открывшемся окне приложения жмем кнопку «Добавить».
Рис. 12 Окно 1С:Предприятие
Далее выбираем «Создание информационной базы».
Рис.13 Создание информационной базы
После перехода в следующий пункт меню выбираем « Создание информационной базы без конфигурации для разработки новой конфигурации» или «Загрузки выгруженной ранее информационной базы».
Рис.14 Создание чистой конфигурации
Следующим шагом будет выбор пункта «На сервере 1С:Предприятие».
Рис.15 Создание на сервере 1С
Мы попадем в искомое нами окно заполнения полей для создания базы на сервере 1С.
Рис. 16 Создание ИБД на сервере SQL
Шаг №4 Завершение переноса
Перенос базы 1С на SQL-сервер
Поможем определить необходимость переноса базы 1С на SQL и подготовить инфраструктуру
Перенос данных 1С
Переходите на новую программу 1С? Проведем бесплатный анализ и перенесем только необходимые данные
Рис. 17 Запуск конфигуратора 1С
После запуска конфигуратора переходим в раздел «Администрирование» и выбираем пункт «Загрузить информационную базу».
Рис. 18 Загрузка информационной базы из файла
Далее выбираем ранее сохраненный файл выгрузки и начинаем непосредственно процесс загрузки базы на СУБД SQL.
Рис. 19 Завершение загрузки ИБД 1С
Готово! Ваша конфигурация успешно переведена из файлового режима на SQL-сервер.
Если повторная работа в конфигураторе не требуется, выбираем вариант «Нет» и запускаем базу в режиме «Предприятия» для проверки ее работоспособности.
Мы рассмотрели процесс миграции файловой базы на сервер 1С. Если в будущем вам потребуется перенос базы 1С SQL на другой сервер или у вас остались вопросы по этому переводу, обратитесь к нашим специалистам за консультацией, мы с радостью вам поможем.
В новой редакции платформы 1С 8.2.14 появилась возможность устанавливать связь с внешними источниками данных. У меня была идея написать программу для прямой работы с базой данных на нашем сайте из 1С:Предприятия 8
В новой редакции платформы 1С 8.2.14 появилась возможность устанавливать связь с внешними источниками данных. У меня была идея написать программу для прямой работы с базой данных на нашем сайте из 1С:Предприятия 8
По шагам надо сделать следующее:
1. Скачиваем ODBC коннектор с сайта поставщика mysql.
2. Устанавливаем его на компьютер.
3. Заходим в конфигуратор 1С и добавляем новый внешний источник данных.
4. Добавляем внешнюю таблицу:
5. Указываем режим автоматического формирования списка таблиц
6. Указываем параметры соединения. Пишем руками:
и вбиваем логин и пароль для доступа к базе mysql
7. Если все ок, то мы увидим список таблиц из базы данных сайта.
8. Выбираем нужную таблицу галочкой
9. И получаем ее в дереве метаданных.
10. Создаем обработку для тестирования с одной процедурой:
Тут необходимо понимать что в обработке надо обязательно заново прописывать параметры соединения с внешней базой данных, они не хранятся в конфигурации.
11. Ставим точку останова на конец процедуры и запускаем обработку в режиме предприятия.
p.s. мы получили данные из внешней таблицы mysql средствами языка 1С. Что самое интересное, внешние таблицы доступны в конструкторе запроса.
upd: как можно изменять данные через ODBC я написал в этом посте.
Специальные предложения
В новой редакции платформы 1С 8.2.14 появилась возможность устанавливать связь с внешними источниками данных. У меня была идея написать программу для прямой работы с базой данных на нашем сайте из 1С:Предприятия 8
Очень интересная возможность новой платформы, да все никак руки не доходят ее попробовать.
Хочется уточнить один вопрос: если я установлю драйвер MySQL, а потом настрою его в "Администратор источников данных ODBC" где-нибудь в "Пользовательский DSN" или "Системный DSN", соответственно прописав там параметры подключения - смогу ли я потом подключаться к этому источнику просто по имени этой настройки? И понадобится ли заново прописывать настройки подключения к источнику данных в каждой обработке при таком подключении?
(1) я экспериментировал, параметры подключения вводил дважды:
1) в режиме конфигуратора для автоматического создания структуры таблиц
2) в режиме предприятия для отображения динамического списка записей таблиц.
Параметры вводились только один раз, они запоминаются в каком-то менеджере внешних источников данных, который доступен через "все функции" -> Стандартные -> Управление внешними источниками данных
(3) Автор пишет "Тут необходимо понимать что в обработке надо обязательно заново прописывать параметры соединения с внешней базой данных, они не хранятся в конфигурации.". Получается, что хранятся? И как потом строка подключения из обработки выглядит? Можно пример?
(5) Спасибо за дополнительную информацию. Только Ваше подключение практически идентично авторскому. И парочка примечаний "Важно". Выходит к внешнему источнику данных через подключение, описанное в (1), встроенными средствами платформы обратиться нельзя.
Ладно, пока сам не попробую приставать больше не буду.
(1) V_V_V, насчёт подключения с использованием DSN: там просто строка подключения будет иметь вид "DSN=;".
Теоретически, так можно избавиться от необходимости указывать логин/пароль в коде.
очень полезная возможность новой версии платформы представлена наглядно в очень полезной публикации этого сообщества :) спасибо :)
Да, все это безусловно хорошая вещь - внешние источники данных.
Я вначале сильно обрадовался когда узнал что 1С сделала такой механизм.
Но потом был сильно огорчен когда узнал что с этими источниками можно работать только на чтение.:(
(9) Spacer,
Ну собственно не совсем понятно в чем беда. Изменять данные через ODBC вроде всегда можно было. А тут вся фишка в том что с таблицей через запросы можно работать. Вроде запросы всегда только на чтение в 1С использовались :)
Набросаю сегодня завтра пример как я на сайте в данные меняю. Дам ссылку тут.
upd. На инфостарт не в силах перепостить сейчас, потому кому интересно как менять данные через ODBC, смотрите тут .
Попозже оформлю на инфостарте статью.
Да, все это безусловно хорошая вещь - внешние источники данных.
Я вначале сильно обрадовался когда узнал что 1С сделала такой механизм.
Но потом был сильно огорчен когда узнал что с этими источниками можно работать только на чтение.:(
Обидно что только на чтение, я уже размечтался что базу данных своего сайта смогу прикрутить и из 1С грузить информацию на сайт
Как то еще на тестовом релизе пытался связать с базой данных под управлением СУБД LETODB.Так и не получилось победить грабли вида иррациаональных чисел, и если среди DBF файлов базы имелись "пароленные" dbfки их прочитать так и не удалось, пока dbf редактором не исправил заголовок файла. а была такая надежда :(
За статью безусловно плюс. Как только появился 14 релиз 8.2 я пыталась подключить через внешние таблицы екселевский файл, пока результат отрицательный. У кого-нибудь получилось?
мне бы было интересно как подключиться к файлу базы данных на сайте (например sqlite) - не задавались таким вопросом?
(15) aximo,
Я думаю что принцип соединения аналогичный.
Сначала качаем ODBC драйвер для sqlite.
Потом из 1С прописываем сотроку соединения по аналогии
Под рукой нет такой базы чтобы проверить, но суть примерно такая.
sqlite - это файл. допустим он лежит на запароленном фтп. мне кажеться, что подключение будет несколько иное. кто знает - отпишитесь
Если база на запороленном ftp то надо вероятно другими средствами делать доступ, например поднимать ssh тонель и через него самбой шарить файл базы данных. Ну и строка подключения будет какой то такой.
Очень интресная тема.И очень полезная,если параметры подключения действительно хранятся в конфигураторе
vec435 пишет:
Очень интресная тема.И очень полезная,если параметры подключения действительно хранятся в конфигураторе
А они там не хранятся :)
Потестировал на MySQL. Вывод, бестолковая приблуда, зачем промежуточный механизм? какие плюсы использования.
Парни что я делаю не так? поставил себе последнюю платформу(8.3.5.1146), подключил базу через внешний источник данных. Если в конструкторе запросов выбираю поле без нижнего подчеркивания - то все работает. Если выбираю поле с нижним подчеркиванием, то выдает ошибку:
: Ошибка при вызове метода контекста (Выполнить)
Таблица = Запрос.Выполнить().Выгрузить();
по причине:
Ошибка выполнения запроса
по причине:
Ошибка внешней базы данных:
ошибка при выполнении запроса
по причине:
Ошибка ODBC. SQLSTATE: 42000
Номер ошибки: 1064
Описание: [MySQL][ODBC 5.1 Driver][mysqld-5.5.25]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"section_id"
FROM lesson_article T1' at line 2
а вот как на 2003 сервере х64 получить доступ к xbase через ODBC . ни в какую не могу загрузить дрова.
Всем доброго дня! Начал разбираться с использованием внешних источников. Столкнулся со следующей проблемой. Создал форму списка для таблицы MySQL. Подключение к Базе MySQL происходит, в обработчике загрузки формы делаю подключение. Но вываливается ошибка и, соответственно таблица пустая. Прилагаю скрин ошибки.
(27) bssat, непонятно почему, но у меня в в рабочем коде выскочила точно такая же ошибка как у вас на скриншоте. Пока разбираюсь в чем дело.
у менея точно такая же ошибка, походу при трансляции запроса 1с в mysql есть какойто ограничение по символам, изза етого формируется неправельный запрос (посмотри свой скрин там видно что текст запроса обрезан) если выбрать только 1-3 поля и они уместятся в запросе тогда работает, пока не разобрался с проблемой, возможно глючный ODBC , возможноно и в самой платформе глюк
(30) roha, У меня с момента написания статьи запрос работал без проблем до 26 декабря в фоновом процессе. Что произошло я не понимаю.
Рядом с поломанным запросом лежит другой, к другому ресурсу и он нормально отрабатывает команды из 1С. Пробовал вручную через Mysql front написать запрос, все работает отлично.
Что то в механизме трансляции изменилось, по-моему после обновления на 8.2.15.289
У вас могут быть другие входящие, это не важно (сейчас).
Мы взяли Комплексную поставку УТП (в нее входит 10 клиентских лицензий, сервер (только 32 бит), и конфигурации ЗУП, УТ, Бухгалтерии, и сама УТП. Примечательно что франзайзи во всю хотели включить отдельные поставки, и лучше сразу КОРП. Анализ показал что это лишнее, и дешевле брать комплексную конфигурацию.
При подборе железа вам важно помнить, что в клиент-серверном варианте работе 1С нужно, чтобы частота работы процессора была максимальна, как и частота работы памяти (помните об этом, выбирая железо). (то есть Hyper трейдинг и всякие С1-2-3 state лучше отключить в BIOS).
Так же надо «физически» разносить файл базы (MDF) и лога (LDF) на отдельные жесткие, а не логические диски.
И если для файловой версии оптимально будет рекомендовать SSD, то тут, не все так очевидно.
Зайдите на форум Гилева, чтобы ознакомиться с «загадками», возникающими в попытке улучшить производительность 1С. Много интересного.
В моем случае коллеги админы выдели мне лезвие на блейд сервере, с 2мя физ.процессорами AMD Quad-Core Opteron(tm) Processor 2354, с 16 Гб (667 МГц). Система на 2 дисках в зеркале. Диски под базу выделялись по Fiber chanel, на HP EVA.
Сейчас ищу другую конфигурацию, но пока надо и на этом пожить.
И вот на этапе внедрения, пока ведется анализ как переносить данные из другой ERP системы, 1С программист обратил мое внимание на медленную работу, и долгое проведение документов. То есть систему еще не эксплуатируют, а она уже тормозит и помирает, а перепроведение раза в 3 медленнее, чем у человека на ноутбуке, а с этим еще и люди работать должны будут (3-4 основных, и 25-40 табельщиков).
Не порядок.
Он порекомендовал использовать тест Гилева (легко гуглится его сайт), у которого полного сервисов поддержки, и информации. Чем и воспользовался.
Тест показал что все плохо, и рекомендованное число пользователей отсутствует.
Посмотрев повнимательнее я понял что база и лог хоть на разных дисках — но логических.
И вот для исправления этого и сделал скриншоты и эту памятку на будущее себе и другим:
Создание базы данных в SQL server management studio. Базу и лог разносим на разные физические диски.
Методе восстановления выбираем Simple
Создаем новую базу через клиента 1С на компьютере
Выбираем добавление информационной базы. В нашем случае без конфигурации.
Задаем называние. Здесь любое. Лучше как на сервере.
Заполняем данные. Когда указывал на сервере, имя сервера указывал 127.0.0.1 — иное не работало.
здесь ничего не меняем
Делаем загрузку нашей информационной базы (предварительно имеющейся или новой, например теста)
Собственно выбор базы. Я загружаю тест Гилева для платформы 8.3
Подтверждаем
Подтверждаем
Имейте ввиду:
Запуская тест Гилева в тестовой базе, которая расположена в тех же местах хранения что и любая боевая — имейте ввиду, что как минимум Лог файл стремиться занять все свободное место, что чревато остановкой боевой базы и не прохождением теста.
Итог теста. Еще все плохо, но рекомендованное число пользователей больше требуемого, что хорошо.
Так же тестировал, используя логический раздел на зеркале основного диска в лезвие и раздела на СХД EVA.
Здесь Лог на логическом диске в зеркале на SAS 10K, а база на СХД EVA с SAS дисками 15K
А здесь База на логическом диске в зеркале на SAS 10K, а лог на СХД EVA с SAS дисками 15K
Промежуточный итог:
Разнесение Базы данных SQL по разным дискам очень важно!
В самом минимальном варианте Базу можно базировать на логическом диске основного физического диска с системой, а лог выносить на отдельный диск (в комментариях дали информацию, что лучше на SSD)
Лучшем вариантом разнесения базы и лога на отдельные физические диски.
Так же, как подметили в комментариях, имеет смысл вынести и TEMP базу самого SQL, так как 1С ее активно использует во время работы.
P.S. В процессе поиска правды система полностью клонировалась на один отдельный SSD (то есть диски с базой и логом были логические).
Не смотря на i7-4790 с 32 GB DDR3, производительность от обычного диска и работы на сервере лучше не становится.
Создание дисков на RAM диске так же показывало низкие результаты, не отличимые от работы на простых дисках.
Так же информация в помощь — Effector Saver позволяет сохранять 1с базы
Бекапить все остальное смысла мало, так как в моем случае лицензии программные и при переносе на другое железо лицензии слетают.
Из дополнительного.
Если Вам захочется дать пользователям домена безнаказанно создавать любые БД средствами 1С, то учетной записи службы сервера 1С сделать доменную учетку, имеющую право создавать базы без всяких сисадминов вполне достаточно,
при этом логин и пароль в свойствах информационной базы писать не надо…
Читайте также: