Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Получить доступ к файлу *.mbd в клиент серверном варианте 2 страниц V   1 2 >          
kosalex Подменю пользователя
сообщение 11.06.14, 8:21
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Доброе утро!

Есть сервер 1С и есть клиентская машина на которой стоит программа автовесовой. Программа пишет в файл базы данных расположенный на клиентской машине. Нужно чтобы по регламентному заданию читался этот файл и записывалось в 1С. Регламентное задание, процедуры и функции есть!

Вопрос, как серверу получить этот файл, расположенный на локальном компьюторе? Вот так получиться? Будут ли тормоза на клиентской машине?
ТФайл = "\\VESA\С:\data\bd"+СтрокаГод+".mdb";


Даже вопрос немного другой, как подключиться к базе на локальной машине с сервера?

ТФайл = "\\VESA\С:\data\bd"+СтрокаГод+".mdb";
MyCon = Новый COMОбъект ("ADODB.Connection");
MyCon.Open ("Driver={Microsoft Access Driver (*.mdb)};Dbq="+ТФайл+";Uid=Admin;Pwd="+Пароль);



Выдает ошибку, не нравиться путь к фалу либо ещё что то,что?))

Petre Подменю пользователя
сообщение 11.06.14, 8:31
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2903
Из: Київ, Україна
Спасибо сказали: 1145 раз
Рейтинг: 1225

Вопрос риторический. Если диски быстрые, сеть широкая, файл небольшой - тормозить не должно.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

kosalex Подменю пользователя
сообщение 11.06.14, 8:34
Сообщение #3

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Цитата(Petre @ 11.06.14, 9:31) *
Вопрос риторический. Если диски быстрые, сеть широкая, файл небольшой - тормозить не должно.



Файл БД лежит на локальной машине, как его получить серверу для регламентного задания?

Petre Подменю пользователя
сообщение 11.06.14, 8:35
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2903
Из: Київ, Україна
Спасибо сказали: 1145 раз
Рейтинг: 1225

Цитата(kosalex @ 11.06.14, 9:21) *
Выдает ошибку, не нравиться путь к фалу либо ещё что то,что?))

Насколько я понимаю, все права настроены, и доступ к файлу с сервера был успешно опробован интерактивно?


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

kosalex Подменю пользователя
сообщение 11.06.14, 8:52
Сообщение #5

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Цитата(Petre @ 11.06.14, 9:35) *
Насколько я понимаю, все права настроены, и доступ к файлу с сервера был успешно опробован интерактивно?



Не совсем) Чтобы получить доступ с сервера к фалу, нужно зайти по сети на локальную машину, а для этого нужно ввести "Логин" и "Пароль". Подскажите как в 1С это реализовать?

sava1 Подменю пользователя
сообщение 11.06.14, 9:00
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

в Винде - администрирование-Источники данных ОДБЦ - выбрать аксесовский драйвер, настроить соединение, проверить. Потом можно параметры лепить в строку соединения или использовать созданный источник ОДБЦ

kosalex Подменю пользователя
сообщение 11.06.14, 9:20
Сообщение #7

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Цитата(sava1 @ 11.06.14, 10:00) *
в Винде - администрирование-Источники данных ОДБЦ - выбрать аксесовский драйвер, настроить соединение, проверить. Потом можно параметры лепить в строку соединения или использовать созданный источник ОДБЦ


Эти действия нужно сделать на сервере?


Если вот так написать, то создается ж новое соединение, какие параметры ещё нужно передать?
MyCon = Новый COMОбъект ("ADODB.Connection");
MyCon.Open ("Driver={Microsoft Access Driver (*.mdb)};Dbq="+ТФайл+";Uid=Admin;Pwd="+Пароль);



А как использовать созданный источник соединения в 1С?

Petre Подменю пользователя
сообщение 11.06.14, 9:38
Сообщение #8

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2903
Из: Київ, Україна
Спасибо сказали: 1145 раз
Рейтинг: 1225

Цитата(kosalex @ 11.06.14, 9:52) *
Не совсем) Чтобы получить доступ с сервера к фалу, нужно зайти по сети на локальную машину, а для этого нужно ввести "Логин" и "Пароль". Подскажите как в 1С это реализовать?

"net use" ?


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

kosalex Подменю пользователя
сообщение 11.06.14, 9:43
Сообщение #9

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

MyCon = Новый COMОбъект ("ADODB.Connection");
MyCon.Open ("Driver={Microsoft Access Driver (*.mdb)};Dbq="+ТФайл+";Uid=Admin;Pwd="+Пароль);



в этом коде, параметры Uid=Admin и Pwd="+Пароль это пользователь и пароль для подключения на клиентскую машину,верно?

sava1 Подменю пользователя
сообщение 11.06.14, 9:46
Сообщение #10

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Цитата(kosalex @ 11.06.14, 10:20) *
Эти действия нужно сделать на сервере?

На той машине с которой создается подключение
Цитата(kosalex @ 11.06.14, 10:20) *
А как использовать созданный источник соединения в 1С?

Тут - тонкость. В конфигураторе создаем внешний источник и далее
ВЫБРАТЬ 
| db.*
|ИЗ
|ВнешнийИсточникДанных.ИмяВИД.Таблица.db КАК db");
Таблица = Запрос.Выполнить().Выгрузить();

Petre Подменю пользователя
сообщение 11.06.14, 9:53
Сообщение #11

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2903
Из: Київ, Україна
Спасибо сказали: 1145 раз
Рейтинг: 1225

Цитата(kosalex @ 11.06.14, 10:43) *
в этом коде, параметры Uid=Admin и Pwd="+Пароль это пользователь и пароль для подключения на клиентскую машину,верно?

Нет. Это авторизация к базе данных.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

kosalex Подменю пользователя
сообщение 11.06.14, 9:55
Сообщение #12

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

sava1, вот так делаю на сервере с которого идет подключение на клиентскую машину
MyCon = Новый COMОбъект ("ADODB.Connection");
MyCon.Open ("Driver={Microsoft Access Driver (*.mdb)};Dbq="+ТФайл+";Uid=Admin;Pwd="+Пароль);



Вот эти параметры "Uid=Admin;Pwd="+Пароль" это и есть пользователь пароль для входа на клиентскую машину?




Цитата(Petre @ 11.06.14, 10:53) *
Нет. Это авторизация к базе данных.



к базе данных Ms Acces? это же просто файл бд, его можно открыть блокнотом) или я ошибаюсь?

sava1 Подменю пользователя
сообщение 11.06.14, 10:01
Сообщение #13

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

На сервере создаем файловый ДСН, вбиваем все параметры для подключения к файлу БД (файл должен быть доступен по сети для конкретного пользователя )
жмем проверка (? точно не помню) - если все ок - лепим параметры в СтрокуСоединения, нет - ищем причину.
Для использования созданного источника в Строке Соединения пишем
Connection.ConnectionString = "Driver={.....};data source= Имя ОДБЦ соединения;

kosalex Подменю пользователя
сообщение 11.06.14, 10:08
Сообщение #14

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

sava1,
Цитата(sava1 @ 11.06.14, 11:01) *
(файл должен быть доступен по сети для конкретного пользователя )



т.е. на клиентской машине должна быть разшарина папка в которой лежит файл?

sava1 Подменю пользователя
сообщение 11.06.14, 10:13
Сообщение #15

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Не обязательно - может быть админская шара, но и подключаться надо от админа

kosalex Подменю пользователя
сообщение 11.06.14, 12:38
Сообщение #16

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

sava1, можно ещё раз!


Пишу так:
MyCon = Новый COMОбъект ("ADODB.Connection");
    MyCon.ConnectionString = "Uid=Admin;Pwd=" + Пароль;
    MyCon.Open ("Driver={Microsoft Access Driver (*.mdb)};Dbq="+ТФайл+";Uid=Admin;Pwd="+Пароль);



Указать с каким пользователем и паролем заходить на клиентскую машину это?
MyCon.ConnectionString = "Uid=Admin;Pwd=" + Пароль



sava1, Дело в том что на сервере нету драйвера для ODBC...

Возможно ли указать с каким логином и паролем коннектиться к клиентской машине в коде?

sava1 Подменю пользователя
сообщение 11.06.14, 13:47
Сообщение #17

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Цитата(kosalex @ 11.06.14, 13:38) *
Возможно ли указать с каким логином и паролем коннектиться к клиентской машине в коде?

Напрямую нет (хотя админы может и знают - типа "нет юз"). Просто расшарьте папку. Драйвера по-идее нужно доставить (установка дополнительных компонент или что-то такое в установке/удалении файлов)

Цитата(kosalex @ 11.06.14, 13:38) *
Дело в том что на сервере нету драйвера для ODBC...

А куда делись? На 2008 - Пуск/Администрирование/Источники данных

Необходимо открыть вот этот файл "C:\Windows\syswow64\odbcad32.exe". Там без особых проблем можно установить MS Access ODBC driver.

kosalex Подменю пользователя
сообщение 11.06.14, 15:10
Сообщение #18

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Сделал так, файлы с клиентского компа копируются на сервер в папку по "Назначение Задач" - Windows, а регламентное задание 1C уже читает эти файлы на сервере и делает запись в базу 1С.

Цитата(sava1 @ 11.06.14, 14:47) *
Напрямую нет (хотя админы может и знают - типа "нет юз"). Просто расшарьте папку. Драйвера по-идее нужно доставить (установка дополнительных компонент или что-то такое в установке/удалении файлов)


А куда делись? На 2008 - Пуск/Администрирование/Источники данных

Необходимо открыть вот этот файл "C:\Windows\syswow64\odbcad32.exe". Там без особых проблем можно установить MS Access ODBC driver.




не знаю почему не получается вот так, клиентская машина в домене, а сервер нет. может быть из-за этого...

sava1, последний вопрос)))

Подскажите плиз, если я вот так вот напишу
ТФайл = "E:\vesa\data\bd"+СтрокаГод+".mdb";


то на сервере при регламентном задании файл найдёт? Т.к на тестовом компе диска "Е" нет. На сервере где стоит 1С диск "Е" есть и путь совпадает.


sava1 Подменю пользователя
сообщение 11.06.14, 15:26
Сообщение #19

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

по-идее да, но практика - лучшее подтверждение.

kosalex Подменю пользователя
сообщение 11.06.14, 15:27
Сообщение #20

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Не работает на сервере 2008 x64. Вылетает на строке
MyCon.Open ("Driver={Microsoft Access Driver (*.mdb)}Dbq="+ТФайл+";Uid=Admin;Pwd="+Пароль);


что делать?


Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V   1 2 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 9:20
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!