|
Как подключить к MS SQL Server 2008 R2 базу 1С в качестве LinkedServer ?
|
|||
---|---|---|---|
#18+
Народ, подскажите можно ли подключить к MS SQL Server 2008 R2 базу 1С в качестве LinkedServer ? Только не надо меня сразу кидать на костёр! Мне необходимо забирать данные из 1С на сторону MS SQL Server ТОЛЬКО средствами самого MS SQL Server и другого доступного выхода кроме как LinkedServer я не вижу. Если таковое возможно, то с помощью какого провайдера надо настраивать LinkedServer? (может кто-то добрый ссылку на драйвер скинет? ) и очень бы хотелось пример строки подключения. Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2015, 12:51 |
|
Как подключить к MS SQL Server 2008 R2 базу 1С в качестве LinkedServer ?
|
|||
---|---|---|---|
#18+
DemiurgXXX, Вам нужно создать пустую базу с одной тестовой таблице, на MS SQL Server 2008 R2, на том сервере где и 1с. И тренируйтесь к ней подключаться. А сейчас забудьте о существовании базы 1с. Как научитесь, укажите в строке подключения базу 1с. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2015, 16:25 |
|
Как подключить к MS SQL Server 2008 R2 базу 1С в качестве LinkedServer ?
|
|||
---|---|---|---|
#18+
Ох, если всё было бы так просто ! С описанным мною MS SQL сервером по технологии связанных серверов LinkedServer уже работает несколько других серверов с их базами данных, к которым я обращаюсь в SQL-запросах в сквозную, как к базам моего сервера, считывая из них необходимые данные и прочее. Не воспримите за бахвальство, однако тренировок в этом у меня уже хоть отбавляй. Проблема же заключается в другом. Мне понадобилось считать определённые данные из базы 1С. Вот я и стал искать решение, как это сделать также удобно как работаю с прочими базами. Может есть возможность тоже присоединить сервер с 1С, как связанный сервер? Должен же быть способ двум СУБД напрямую общаться! Умеет же MS SQL Server по этой технологии вытягивать данные и из MySQL, и из Oracle, и из FoxPro, блин, да даже из Excel файла вытянуть так данные может !!! Для того чтобы присоединить другой сервер как присоединённый Linked сервер нужно указать соответствующего провайдера данных, соответственно установив от него драйвер. Я такового пока не нашёл. Возможно есть какой-то ODBC драйвер для Win2r8 r2 Enterprise x64 для общения с 1С ? Т.к среди провайдеров для присоединённого на своём MS SQL Server нашёл какой-то Microsoft OLE DB Provider for ODBC Drivers. Хотя в этом случае может и не туда копаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2015, 17:20 |
|
Как подключить к MS SQL Server 2008 R2 базу 1С в качестве LinkedServer ?
|
|||
---|---|---|---|
#18+
провайдера каких данных? база 1с физически обычно на таком же ms sql валяется а вот если база 1с файловая - тогда увы вам ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2015, 17:23 |
|
Как подключить к MS SQL Server 2008 R2 базу 1С в качестве LinkedServer ?
|
|||
---|---|---|---|
#18+
DemiurgXXX, авторВозможно есть какой-то ODBC драйвер для Win2r8 r2 Enterprise x64 для общения с 1С. Такого нет. Вам можно помочь только в том случае, если вы в 1с разбираетесь, её структуре. 18012292 1. Из 1с смотрим как называется таблица в 1с и в ms sql и это выгружаем в xml.(ссылка выше, выгрузу в xml кажется нужно самому дописать) 2. В ms sql загружаем xml полученные на предыдущем шаге. (теперь вы на стороне ms sql знаете как называется таблица 1с, которую вы видете как Ref... или Doc...) 3. Нужно знать как таблицы 1с связаны друг с другом т.е. нужно знать объекты 1с. 4. Если на 3-ем этапе сложностей не возникло, соединяйте таблицы (join) и получайте результат. Фирма 1с запрещает работать с базой 1с на ms sql напрямую, только через интерфейс 1с Предприятия (можно ещё через сервис). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2015, 17:47 |
|
Как подключить к MS SQL Server 2008 R2 базу 1С в качестве LinkedServer ?
|
|||
---|---|---|---|
#18+
Прошу прощения, похоже не до конца описал всю вводную информацию. Сервер 1С - отдельная машина с PostgreSQL и развёрнутой на нём 1С:Предприятите 8. Сервер MS SQL - другая отдельная машина с СУБД MS SQL server 2008 r2 и развёрнутой на его основе БД не суть важно какой учётной системы. Вот я и ищу решение как их объединить чтобы одновременно к ним обращаться в тексте SQL-запросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2015, 18:03 |
|
Как подключить к MS SQL Server 2008 R2 базу 1С в качестве LinkedServer ?
|
|||
---|---|---|---|
#18+
DemiurgXXX, В поисковике набери: ms sql postgresql linked server и подключайся к базе 1с.(представь, что вместо 1с на сервере postgresql есть какая-то база к которой нужно подключиться) авторобращаться в тексте SQL-запросов а что это будет за общение, т.е. какая цель? Если тебе будет не понятно, какая таблица что означает, смотри как их "расшифровать" 18019468 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2015, 22:53 |
|
Как подключить к MS SQL Server 2008 R2 базу 1С в качестве LinkedServer ?
|
|||
---|---|---|---|
#18+
Спасибо за терпеливое отношение к проблеме. Похоже на то что пообщался, рассказал о проблеме и сам понял что надо делать. Всё искал какой-то волшебный способ, а набрал в поисковике как сказали и первым же сообщением выискал вариант. http://www.postgresonline.com/journal/archives/46-Setting-up-PostgreSQL-as-a-Linked-Server-in-Microsoft-SQL-Server-64-bit.html Правильный или нет проверю уже в понедельник (у всех наблюдающих за постом и заинтересованных прошу прощения - уже сил нет как вымотало, чтобы проверять на выходных). To trew: цель простая: без прослойки в виде консольного приложения, забирая интересующие справочные данные непосредственно из 1С, как из одной системы хранения данных и анализируя их, делать изменения в хранимых данных в совсем другой, отличной от неё по сути системе хранения данных, по результатам действия пользователей. Данные изменения будут производиться на основе срабатывания триггеров, черпающих справочную информацию о договорах контрагента из 1С, и действиях данного контрагента, учёт которых ведётся в системе на основе СУБД MS SQL (ту сразу попрошу воздержаться от комментариев о переведении данной учётной системы под 1С - этого не будет по очень многим соображениям). Прошу на этом не бить меня сразу канделябрами по голове. К логике работы исходной системы на MS SQL доступа нет абсолютно никакого и все расширения логики действий в ней есть возможность внедрять только используя средства самой СУБД MS SQL (в частности такие как триггеры). Р.S.Как показало время - достойный вызов для программиста. Есть где развернуться на пяточке :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2015, 00:10 |
|
Как подключить к MS SQL Server 2008 R2 базу 1С в качестве LinkedServer ?
|
|||
---|---|---|---|
#18+
DemiurgXXX, В базе 1с имеет место, что все таблицы могут поменять своё название (на стороне PostgreSQL, в конфигураторе 1с наименования объектов будут прежние). Такое возможно при обновлениях (кажется) платформы или версии конфигурации. Если уверены, базу 1с не будете обновлять (обновления от 1с) или что в вашем решение можно будет быстро подправить везде названия таблиц 1с - тогда можно его реализовывать. Вот альтернативный, тоже не простой вариант. Поднять веб-сервер и на 1с написать сервисы. (это для случая, когда база 1с нетиповая т.е. можно менять код в конфигураторе) http://v8.1c.ru/overview/Term_000000273.htm http://www.cbr.ru/scripts/Root.asp?Prtid=DWS ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2015, 15:45 |
|
Как подключить к MS SQL Server 2008 R2 базу 1С в качестве LinkedServer ?
|
|||
---|---|---|---|
#18+
Поборол !!! Если кого интересует, то вот как: Провайдер MSDASQL как оказалось входит в штатную поставку моего Windows 2008 Server (и как потом вычитал, но сам глазами не видел файла также входит в Vista 64 Bit ), так что ничего дополнительно связанного с ним делать не пришлось. Если у кого сервер предыдущей версии тому придётся озаботиться и его установкой http://www.microsoft.com/en-us/download/details.aspx?id=20065 а далее 1) Скачал ODBC драйвер для PostgreSQL с http://www.postgresql.org/ftp/odbc/versions/msi/ и установил его на сервере с MS SQL Server; 2) Далее на том же сервере через "панель администрирования" зашёл в источники данных ODBC и добавил системный DSN PostgreSQL35W по руководству из поста https://www.mssqltips.com/sqlservertip/3662/sql-server-and-postgresql-linked-server-configuration--part-2/ 3) После этого через MS SQL Server Management Studio настроил LinkedServer со следующей строкой подключения, авторизации и опциями: EXEC master.dbo.sp_addlinkedserver @server = N'POSTGRESQL', @srvproduct=N'PostgreSQL', @provider=N'MSDASQL', @datasrc=N'PostgreSQL35W' EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'POSTGRESQL',@useself=N'False',@locallogin=NULL,@rmtuser=N'postgres',@rmtpassword='########' GO EXEC master.dbo.sp_serveroption @server=N'POSTGRESQL', @optname=N'collation compatible', @optvalue=N'false' EXEC master.dbo.sp_serveroption @server=N'POSTGRESQL', @optname=N'data access', @optvalue=N'true' EXEC master.dbo.sp_serveroption @server=N'POSTGRESQL', @optname=N'dist', @optvalue=N'false' EXEC master.dbo.sp_serveroption @server=N'POSTGRESQL', @optname=N'pub', @optvalue=N'false' EXEC master.dbo.sp_serveroption @server=N'POSTGRESQL', @optname=N'rpc', @optvalue=N'true' EXEC master.dbo.sp_serveroption @server=N'POSTGRESQL', @optname=N'rpc out', @optvalue=N'true' EXEC master.dbo.sp_serveroption @server=N'POSTGRESQL', @optname=N'sub', @optvalue=N'false' EXEC master.dbo.sp_serveroption @server=N'POSTGRESQL', @optname=N'connect timeout', @optvalue=N'0' EXEC master.dbo.sp_serveroption @server=N'POSTGRESQL', @optname=N'collation name', @optvalue=null EXEC master.dbo.sp_serveroption @server=N'POSTGRESQL', @optname=N'lazy schema validation', @optvalue=N'false' EXEC master.dbo.sp_serveroption @server=N'POSTGRESQL', @optname=N'query timeout', @optvalue=N'0' EXEC master.dbo.sp_serveroption @server=N'POSTGRESQL', @optname=N'use remote collation', @optvalue=N'true' EXEC master.dbo.sp_serveroption @server=N'POSTGRESQL', @optname=N'remote proc transaction promotion', @optvalue=N'true' GO ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2015, 16:11 |
|
|
start [/forum/topic.php?fid=28&fpage=24&tid=1519016]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 133ms |
0 / 0 |