Имя: Пароль:
1C
 
(ADODB.Recordset): Текущий объект Recordset не поддерживает закладки
0 Shved_72
 
29.02.16
13:45
Таблицу сам создал, с скуле отрабатывает.
из 1с тотже заспрос не хочет:

Произошла исключительная ситуация (ADODB.Recordset): Текущий объект Recordset не поддерживает закладки. Это связано с ограничением поставщика или с выбранным типом курсора.

сам запрос прост как валенок (как и таблица, единственное что у нее пишется онлайн из другого места, я читаю из 1с).

"/****** Сценарий для команды SelectTopNRows среды SSMS  ******/
SELECT [Name]
      ,[Tool]      
  FROM [Test].[dbo].[Sex]"
1 lubitelxml
 
29.02.16
13:47
(0) название таблицы зачет )
2 Necessitudo
 
29.02.16
15:34
Так не хочешь показать как сам объект Recordset создаешь?
3 vde69
 
29.02.16
15:38
вроде как [dbo] должен быть первым ?
4 vde69
 
29.02.16
15:39
SELECT [Name]
      ,[Tool]      
  FROM [dbo].[Test].[Sex]

или вообще так

SELECT [Name]
      ,[Tool]      
  FROM [dbo].[Sex]"
5 Shved_72
 
29.02.16
15:42
трокаСоединения = "DRIVER={ODBC Driver 11 for SQL Server};SERVER=(local);UID=sa;PWD=порно;DATABASE=секас";
    
    Connection  = Новый COMОбъект("ADODB.Connection");
    Connection.ConnectionString=СтрокаСоединения;    
    Connection.Open();

    Command      = Новый COMОбъект("ADODB.Command");
    Command.ActiveConnection       = Connection;
    RecordSet      = Новый COMОбъект("ADODB.RecordSet");
    ТекстЗапроса = "";                          
        
    Command.CommandText         = ТекстЗапроса;
    RecordSet                    = Command.Execute();
    
    Пока RecordSet.EOF Цикл
RecordSet.MoveNext();
    КонецЦикла;
6 Necessitudo
 
29.02.16
15:46
(3) Нет, dbo должно идти вторым или вообще его быть не должно.
7 Necessitudo
 
29.02.16
15:47
(5) Что за каша???
8 Necessitudo
 
29.02.16
15:48
RecordSet  = Command.Execute();
Ты издеваешься?
9 Necessitudo
 
29.02.16
15:49
Connection = Новый COMОбъект("ADODB.Connection");
Connection.ConnectionString = СокрЛП(Справочники.tsНастройкиИмпортаЭкспорта.СтрокаСоединенияOracle.Значение);
Connection.Open();

RecordSet =  Новый COMОбъект("ADODB.RecordSet");

RecordSet.ActiveConnection = Connection;
RecordSet.CursorType = 3;
RecordSet.LockType = 2;

ТекстЗапроса = "Select COUNT(ARTICUL), STORE From ECONTROL.V_REMAINS_1C
                    |where STORE IN " + СписокСкладовСтрокой + " AND QUANTITY > 0
                    |group by STORE";
    
    Попытка
        RecordSet.Open(ТекстЗапроса, Connection);
    Исключение
        Сообщить(ОписаниеОшибки());
        Connection.Close();
        Возврат;
    КонецПопытки;

    КоличествоКолонок = RecordSet.Fields.Count;

    Пока RecordSet.Eof()=0 Цикл
        НоваяСтрока = ОстаткиОракла.Добавить();
        Для НомерКолонки=0 По КоличествоКолонок - 1 Цикл
            НоваяСтрока[ОстаткиОракла.Колонки[НомерКолонки].Имя] = RecordSet.Fields(НомерКолонки).Value;
        КонецЦикла;
        RecordSet.MoveNext();
    КонецЦикла;

    RecordSet.Close();

    Connection.Close();
10 Shved_72
 
29.02.16
16:01
этот кусок уже давно юзаю и работал. даже с (8).
забил твой:
http://i.imgur.com/YpB7XQI.jpg

ошибка та же.

рядом в другом очтете этот же код работает, но там один вызывает 1 раз, а тут по кругу обработкой ожидания
11 Shved_72
 
29.02.16
16:08
дак в исключение не заходит, т.е. подключение корректно, а при попутке перебрать записи - ложь
12 Shved_72
 
29.02.16
16:13
нашел
13 Shved_72
 
29.02.16
16:15
цикл надо так
Пока НЕ RecordSet.EOF Цикл

всем спасибо. простите что отнял ваше время