Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) как выполнить запрос на другой базе SQL (число прочтений - 2612 )
Paranoid Android
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 76
Местоположение: Санкт-Петербург
Зарегистрирован: 10. Апреля 2007
Пол: Мужской
как выполнить запрос на другой базе SQL
27. Сентября 2010 :: 13:11
Печать  
нужно выполнить запрос в другой базе SQL

запрос должен формироваться в периферийной а исполнятся в центральной.

обе базы на 1 сервере.

запрос типа
     
Код
Выбрать все
	|declare @SelectedId char(9)
	|declare @SelectedDef int
	|declare @SelectedSign char(3)
	|declare @count int
	|set @SelectedId=?
	|set @SelectedDef=?
	|set @SelectedSign=?
	|update _1sjourn set verstamp=(select verstamp from _1sjourn where iddocdef=@SelectedDef and iddoc=@SelectedId)+1
	|where iddocdef=@SelectedDef and iddoc=@SelectedId
	| set @count= (select count(*) from _1supdts where typeid=@SelectedDef and objid=@SelectedId and dbsign=@SelectedSign)
	|if @Count=0
	|begin insert into _1supdts values ( @SelectedSign, @SelectedDef, @SelectedId, ' ', ' ')
	|end
	|else
	|begin
	|update _1supdts set dwnldid= '' where Typeid=@SelectedDef and Objid=@SelectedId and DBSign=@SelectedSign
	|end"; 	   

  
Наверх
ICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: как выполнить запрос на другой базе SQL
Ответ #1 - 27. Сентября 2010 :: 13:19
Печать  
как то формулировка не понятна.
к какой базе приконектишься там и выполниться запрос.
не понятно что значит формироваться. Запрос как бы формируется в модуле формы 1с.
  
Наверх
 
IP записан
 
Paranoid Android
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 76
Местоположение: Санкт-Петербург
Зарегистрирован: 10. Апреля 2007
Пол: Мужской
Re: как выполнить запрос на другой базе SQL
Ответ #2 - 27. Сентября 2010 :: 13:23
Печать  
нет не формироваться он должен будет подключится к другой базе SQL и выполнится на ней (добавить пару строк в таблице)
не в своей родной базе.
  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: как выполнить запрос на другой базе SQL
Ответ #3 - 27. Сентября 2010 :: 13:33
Печать  
Paranoid Android писал(а) 27. Сентября 2010 :: 13:11:
обе базы на 1 сервере.

Тогда можно в том же подключении - квалифицировать таблицу полностью:

[ИмяБазы].[Владелец].[ИмяТаблицы]
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Paranoid Android
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 76
Местоположение: Санкт-Петербург
Зарегистрирован: 10. Апреля 2007
Пол: Мужской
Re: как выполнить запрос на другой базе SQL
Ответ #4 - 28. Сентября 2010 :: 07:01
Печать  
это как
типа from   mainbase.user1c._1supdts

так??
  
Наверх
ICQ  
IP записан
 
Paranoid Android
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 76
Местоположение: Санкт-Петербург
Зарегистрирован: 10. Апреля 2007
Пол: Мужской
Re: как выполнить запрос на другой базе SQL
Ответ #5 - 28. Сентября 2010 :: 09:17
Печать  
berezdetsky
не красиво

вдруг базу переставят на другой сервер
  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: как выполнить запрос на другой базе SQL
Ответ #6 - 28. Сентября 2010 :: 09:52
Печать  
Paranoid Android писал(а) 28. Сентября 2010 :: 09:17:
berezdetsky
не красиво

Улыбка

Paranoid Android писал(а) 28. Сентября 2010 :: 09:17:
вдруг базу переставят на другой сервер

Тогда добавишь linked-сервер и напишешь

[ИмяСервера].[ИмяБазы].[Владелец].[ИмяТаблицы]

Задачи с "вдруг" в условии - нерешаемые.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: как выполнить запрос на другой базе SQL
Ответ #7 - 28. Сентября 2010 :: 10:21
Печать  
Paranoid Android писал(а) 28. Сентября 2010 :: 09:17:
berezdetsky
не красиво

вдруг базу переставят на другой сервер

так делай конект к той другой базе (при этом не важно где другая база) и выполняй запросы к той базе при этом типизация может быть по родной базе.
Вариант  berezdetsky тоже имеет свои плюсы нет лишнего конекта,
а конект это тоже ресурсы.
Выбирать что лучше что хуже все равно тебе.
  
Наверх
 
IP записан
 
Paranoid Android
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 76
Местоположение: Санкт-Петербург
Зарегистрирован: 10. Апреля 2007
Пол: Мужской
Re: как выполнить запрос на другой базе SQL
Ответ #8 - 28. Сентября 2010 :: 10:47
Печать  
Цитата:
так делай конект к той другой базе (при этом не важно где другая база) и выполняй запросы к той базе при этом типизация может быть по родной базе.


а как к другой то приконектится ?
  
Наверх
ICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: как выполнить запрос на другой базе SQL
Ответ #9 - 28. Сентября 2010 :: 11:01
Печать  
Paranoid Android писал(а) 28. Сентября 2010 :: 10:47:
Цитата:
так делай конект к той другой базе (при этом не важно где другая база) и выполняй запросы к той базе при этом типизация может быть по родной базе.


а как к другой то приконектится ?

1. Сделать
ODBCDataBase::Соединение()
2. после сделать
ODBCRecordSet::УстБД()

дальше обычные Select. просто для родной базы это делать не надо так как все работает на "родном" конекте.

  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: как выполнить запрос на другой базе SQL
Ответ #10 - 29. Сентября 2010 :: 09:19
Печать  
Paranoid Android писал(а) 28. Сентября 2010 :: 10:47:
Цитата:
так делай конект к той другой базе (при этом не важно где другая база) и выполняй запросы к той базе при этом типизация может быть по родной базе.


а как к другой то приконектится ?

Соединение устанавливается не с базой, а с сервером. By design.  Подмигивание
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Paranoid Android
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 76
Местоположение: Санкт-Петербург
Зарегистрирован: 10. Апреля 2007
Пол: Мужской
Re: как выполнить запрос на другой базе SQL
Ответ #11 - 29. Сентября 2010 :: 12:39
Печать  
понятно спасибо !!
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать