SQL не поддерживается тип

1. Natalito 27.09.18 08:45 Сейчас в теме
Добрый день. Пытаюсь из самописной конфы 1с 7.7 прочитать данные базы SQL. Создала подключение. Но при попытке прочитать реквизит типа decimal(15,2) ругается что тип не поддрживает. Прочитала, что нужно использовать конструкцию CAST. Теперь пишет, что драйвер не поддерживает требуемые свойства. Посмотрите, пожалуйста, где мои ошибки?

//*******************************************
Процедура Подключиться()
	
	Соединение = СоздатьОбъект("ADODB.Connection"); 
	ИмяДрайвера="MySQL ODBC 3.51 Driver";
	СтрокаСоединения = "DRIVER=" + СОКРЛП(ИмяДрайвера) + ";SERVER=" + СОКРЛП(Сервер) + ";DataBase="+СОКРЛП(БазаДанных)+";UID="+СОКРЛП(Логин)+";PWD="+СОКРЛП(Пароль);
	
	Соединение.ConnectionString = (СтрокаСоединения);
	Попытка
		Соединение.Open();
		Форма.Индикатор.Заголовок("Подключено!"); 
		
	Исключение
		Форма.Индикатор.Заголовок("Нет подключения!"); 
	КонецПопытки;
	
КонецПроцедуры    
                                                               

//*******************************************
    Процедура Прочитать()
	
	//Попытка
		ТабЗнач = СоздатьОбъект("ТаблицаЗначений");  
		ТабЗнач.НоваяКолонка("IDDOC"); 
		ТабЗнач.НоваяКолонка("DATECREA");
		ТабЗнач.НоваяКолонка("TIMECREA"); 
		ТабЗнач.НоваяКолонка("Status");
		ТабЗнач.НоваяКолонка("Sum");
		ТабЗнач.НоваяКолонка("Author");
		ТабЗнач.НоваяКолонка("DatePlanned");
		
        пIDDOC = ""; 
		пDATECREA = "";
		пTIMECREA = "";
		пStatus = "";
		пAuthor = "";
		пDatePlanned = "";
		
		Recordset1 = СоздатьОбъект("ADODB.Recordset");  		
		ТекстЗапроса1 = "SELECT 
		|IDDOC, 
		|DATECREA, 
		|TIMECREA, 
		|Status, 
		|CAST(Sum as float) as Sum, 
		|Author, 
		|DatePlanned 
		|from 
		|Runner_necessary"; // тут запрос к Вашей таблице расположенной на MySQL
		
		Recordset1.Open(ТекстЗапроса1, Соединение, 1);
		Пока Recordset1.EOF() = 0 Цикл
			
			пIDDOC = Строка(Recordset1.Fields("IDDOC").Value);
			пDATECREA = Recordset1.Fields("DATECREA").Value;
			пTIMECREA = Строка(Recordset1.Fields("TIMECREA").Value);
			пStatus = Строка(Recordset1.Fields("Status").Value); 
			пSum = Recordset1.Fields("Sum").Value;
			пAuthor = Строка(Recordset1.Fields("Author").Value);
			пDatePlanned = Recordset1.Fields("DatePlanned").Value; 
			
			
			
			ТабЗнач.НоваяСтрока();
			ТабЗнач.IDDOC = пIDDOC;
			ТабЗнач.DATECREA =пDATECREA;
			ТабЗнач.TIMECREA =пTIMECREA;
			ТабЗнач.Status =пStatus;
			ТабЗнач.Sum =пSum;
			ТабЗнач.Author =пAuthor;
			ТабЗнач.DatePlanned =пDatePlanned;
				
			
			Recordset1.MoveNext(); 
		КонецЦикла;
		Recordset1.Close();
		ТабЗнач.ВыбратьСтроки();
		Если ТабЗнач.ПолучитьСтроку()=1 Тогда
			ТабЗнач.Выгрузить(Бегунки);  
		КонецЕсли;
		ТабЗнач.Очистить();
	//Исключение
	//	Сообщить("Ошибка выполнения!");
	//КонецПопытки;
КонецПроцедуры  
                                                              
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. triviumfan 93 27.09.18 10:01 Сейчас в теме
А в интеджер работает?
4. Natalito 28.09.18 08:58 Сейчас в теме
(2)Такое чувство, что сама конструкция CAST не работает. Чтоб я не подставила, выходит ошибка синтаксиса. А как CONVERT правильно использовать?
3. triviumfan 93 27.09.18 10:07 Сейчас в теме
Можно попробовать CONVERT()
5. triviumfan 93 28.09.18 09:32 Сейчас в теме
Ещё можно обновить драйвер, он старый ппц
6. dmarenin 350 29.09.18 21:12 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот