Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Invalid object name (число прочтений - 4035 )
izishared
YaBB Newbies
*
Отсутствует



Сообщений: 6
Местоположение: Владимир
Зарегистрирован: 08. Марта 2008
Пол: Мужской
Invalid object name
10. Марта 2008 :: 14:56
Печать  
Существует две базы данных, каждая для отдельной конфигурации. необходимо обратится из одной конфигурации напрямую к БД второй конфы. Соединение проходит успешно (идентификатор = 1).
Составляю запрос вида
     |SELECT
     |    f.Code as Cod,
     |    f.Descr as Descr
     |FROM
     |    SC13 as f";

В результате получаю State 42S02, native 208, message [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'SC13'.
  

Учюсь)))...
Наверх
ICQ  
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Invalid object name
Ответ #1 - 10. Марта 2008 :: 15:50
Печать  
Смотри в сторону
Код
Выбрать все
ПрисоединитьМД() 

  
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Invalid object name
Ответ #2 - 10. Марта 2008 :: 16:22
Печать  
Либо без соединений в сторону
|FROM
|    ИмяБазыВторойКонфы.dbo.SC13 as f";

ЗЫ. Что за соединение?
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
izishared
YaBB Newbies
*
Отсутствует



Сообщений: 6
Местоположение: Владимир
Зарегистрирован: 08. Марта 2008
Пол: Мужской
Re: Invalid object name
Ответ #3 - 10. Марта 2008 :: 19:52
Печать  
Процедура Сформировать()
     Так = СоздатьОбъект("ODBCDatabase");
     Идент = Так.Соединение("Description=k1_2008;DRIVER=SQL Server;SERVER=server;UID=sa;PWD=rus;");
     Если идент = 1 Тогда
           СОобщить("ура");
     КонецЕсли;
     
     ТекстЗапроса = "
     |SELECT
     |    Спр.Code as Код,
     |    Спр.Descr as Наименование
     |FROM
     |    SC13 as Спр";
     
     База = СоздатьОбъект("ODBCRecordSet");
     
     База.УстБД(Так);
     
     Тз = База.ВыполнитьИнструкцию(ТекстЗапроса);
     
     Тз.ВыбратьСтроку();
     
     
КонецПроцедуры

Вот пример кода...
  

Учюсь)))...
Наверх
ICQ  
IP записан
 
izishared
YaBB Newbies
*
Отсутствует



Сообщений: 6
Местоположение: Владимир
Зарегистрирован: 08. Марта 2008
Пол: Мужской
Re: Invalid object name
Ответ #4 - 10. Марта 2008 :: 19:58
Печать  
Цитата:
Либо без соединений в сторону
|FROM
|    ИмяБазыВторойКонфы.dbo.SC13 as f";

ЗЫ. Что за соединение?


Огромное спасибо, работает....
  

Учюсь)))...
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Invalid object name
Ответ #5 - 11. Марта 2008 :: 06:29
Печать  
Если в строке подключения не указана БД, то текущей будет БД по-умолчанию. Обычно это master.

Что бы для каждой таблицы в запросе не указывать базу данных (ИмяБазыВторойКонфы.dbo.SC13), есть два варианта:
1. Указать имя базы данных в строке подключения, что перенастроит текущую базу данных в контексте подключения.
2. В начале батча написать use ИмяБазыВторойКонфы.
  

1&&2&&3
Наверх
 
IP записан
 
izishared
YaBB Newbies
*
Отсутствует



Сообщений: 6
Местоположение: Владимир
Зарегистрирован: 08. Марта 2008
Пол: Мужской
Re: Invalid object name
Ответ #6 - 25. Марта 2008 :: 21:07
Печать  
trad писал(а) 11. Марта 2008 :: 06:29:
Если в строке подключения не указана БД, то текущей будет БД по-умолчанию. Обычно это master.

Что бы для каждой таблицы в запросе не указывать базу данных (ИмяБазыВторойКонфы.dbo.SC13), есть два варианта:
1. Указать имя базы данных в строке подключения, что перенастроит текущую базу данных в контексте подключения.
2. В начале батча написать use ИмяБазыВторойКонфы.

Можно подробнее про первый способ...
  

Учюсь)))...
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Invalid object name
Ответ #7 - 25. Марта 2008 :: 21:55
Печать  
Типа такого наверное  Подмигивание

Код
Выбрать все
	connectionSQL = CreateObject("ADODB.Connection");
	connectionStr = "driver={SQL Server}; server="+Сервер+"; uid="+Пользователь+"; pwd="+Пароль+"; Database="+БазаДанных+";";
	connectionSQL.ConnectionTimeOut = 5;
	connectionSQL.CursorLocation = 3;
	connectionSQL.Open(connectionStr);
 



Или вот:

http://www.1cpp.ru/docum/html/ODBC.html#driverconnect


  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
izishared
YaBB Newbies
*
Отсутствует



Сообщений: 6
Местоположение: Владимир
Зарегистрирован: 08. Марта 2008
Пол: Мужской
Re: Invalid object name
Ответ #8 - 26. Марта 2008 :: 01:10
Печать  
адо конечно хорошо... 1с++ интересует)
  

Учюсь)))...
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Invalid object name
Ответ #9 - 26. Марта 2008 :: 06:08
Печать  
izishared писал(а) 26. Марта 2008 :: 01:10:
адо конечно хорошо... 1с++ интересует)

точто так же - укажи в строке подключения БД:
Цитата:
Database="+БазаДанных+"
  

1&&2&&3
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать