Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Лезу из 7.7 (1cpp.3.2.4.1) в стороннюю базу под MS SQL 2012. Выборка пуста (число прочтений - 2170 )
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Лезу из 7.7 (1cpp.3.2.4.1) в стороннюю базу под MS SQL 2012. Выборка пуста
11. Мая 2017 :: 09:30
Печать  
То есть не совсем пуста, количество строк соответствует ожиданию, а вот полей не содержит.

С именем таблицы не ошибся (иначе ODBC кричит ошибку)
С именами колонок не ошибся (иначе ODBC ...)

Код
Выбрать все
рсет = СоздатьОбъект( "ODBCRecordSet" );
рсет.УстБД( одбц );

ТекстЗапроса =
	"select
	|	RE.SIFR as sif,
	|	RE.CODE as cod,
	|	RE.NAME as nam
	|from
	|	DEVICES as RE;";

Если ( рсет.Выполнить( ТекстЗапроса ) = 0 ) Тогда
	Сообщить( "Ошибка в запросе: " + рсет.ПолучитьОписаниеОшибки() );
	Возврат;
КонецЕсли;

Сообщить( "КолвоПолей = " + рсет.КолвоПолей() );
рсет.ВНачало();
нпп = 0;
Пока ( 1 = 1 ) Цикл
	нпп = нпп + 1;
	рсет.ПолучитьЗначения( п1, п2, п3 );
	Сообщить( "" + нпп + ") - " + п1 + " - " + п2 + " - " + п3 + " ==" );
	Если ( рсет.След() = 0 ) Тогда
		Прервать;
	КонецЕсли;
КонецЦикла;
 



На выходе
Код
Выбрать все
КолвоПолей = 0
1) -  -  -  ==
2) -  -  -  ==
3) -  -  -  ==
4) -  -  -  ==
 



в чем туплю?
  
Наверх
ICQ  
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1537
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Лезу из 7.7 (1cpp.3.2.4.1) в стороннюю базу под MS SQL 2012. Выборка пуста
Ответ #1 - 11. Мая 2017 :: 09:48
Печать  
А если так?

ТекстЗапроса =
     "select
     |      RE.SIFR as sif,
     |      RE.CODE as cod,
     |      RE.NAME as nam
     |from
     |      DEVICES as RE";
  

FormEx developer
Наверх
www  
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Лезу из 7.7 (1cpp.3.2.4.1) в стороннюю базу под MS SQL 2012. Выборка пуста
Ответ #2 - 11. Мая 2017 :: 09:50
Печать  
Да, семиколон действительно лишний.
Но не помогло.
  
Наверх
ICQ  
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Лезу из 7.7 (1cpp.3.2.4.1) в стороннюю базу под MS SQL 2012. Выборка пуста
Ответ #3 - 11. Мая 2017 :: 09:54
Печать  
а если вытаскивать результат так
     тз = СоздатьОбъект( "ТаблицаЗначений" );
     рсет.ПолучитьРезультатыВ_ТЗ( тз, 1 );
то уже и строк ноль.



Может недружба с этим:
ODBCDatabase.ПолучитьВерсиюДрайвера() = 06.01.7601
ODBCDatabase.ПолучитьВерсиюODBC() = 03.52     ?



По строке подключения, которую мне дали поставщики той программы, я зацепиться не смог, зацепился маленько иначе, главное различие :

предлагали поставщики   "Provider=SQLOLEDB.1; ....."
подключился я                 "Driver={SQL Server}; ....."
  
Наверх
ICQ  
IP записан
 
leov-001
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 150
Зарегистрирован: 05. Марта 2009
Re: Лезу из 7.7 (1cpp.3.2.4.1) в стороннюю базу под MS SQL 2012. Выборка пуста
Ответ #4 - 11. Мая 2017 :: 10:42
Печать  
А если так:
Код (SQL)
Выбрать все
рсет = СоздатьОбъект( "ODBCRecordSet" );

ТекстЗапроса =
	"select
	|	RE.SIFR as sif,
	|	RE.CODE as cod,
	|	RE.NAME as nam
	|from
	|	[БазаНаSQL].[dbo].[DEVICES] as RE";

 

  
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Лезу из 7.7 (1cpp.3.2.4.1) в стороннюю базу под MS SQL 2012. Выборка пуста
Ответ #5 - 11. Мая 2017 :: 17:07
Печать  
сервер принял любую нотацию:

   [rk7].[dbo].[DEVICES] as RE
   rk7.dbo.DEVICES as RE
   dbo.DEVICES as RE
   DEVICES as RE

Результат прежний - выполнение "как будто всё ок", на выходе тишина.
А любая ошибка, в путях или именах, отзывается соответствующим сообщением.

Такое ощущение, что сервер просто некорректно работает через ODBC, либо конкретный ODBC-driver возвращает ответ, который не может разобрать 1с++

Родная программа пашет через OleDB (если я правильно понял их подключение "Provider=SQLOLEDB.1;")

Я так понимаю, что 1с++овский ODBCDatabase мне не помощник с OLEDB и мне надо рыть в сторону "ADODB.Connection" ?
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Лезу из 7.7 (1cpp.3.2.4.1) в стороннюю базу под MS SQL 2012. Выборка пуста
Ответ #6 - 12. Мая 2017 :: 05:24
Печать  
ТЗ = рсет.ВыполнитьИнструкцию(ТекстЗапроса);
ТЗ.Показать();
  

1&&2&&3
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Лезу из 7.7 (1cpp.3.2.4.1) в стороннюю базу под MS SQL 2012. Выборка пуста
Ответ #7 - 12. Мая 2017 :: 08:22
Печать  
trad, Добрый Человек! Благодарю!

всё, сейчас работу работать, а свою ошибку буду искать потом, и сюда отпишусь!

Юх-хууу! Очень довольный Очень довольный Очень довольный
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать