![]() |
|
v7: Не выполняется команда ADODB | ☑ | ||
---|---|---|---|---|
0
1Сергей
28.07.15
✎
07:46
|
Функция УстановитьСоединиение()
СоединениеУстановлено = 0; Попытка ПодключениеАДО = CreateObject("ADODB.Connection"); ПодключениеАДО.ConnectionTimeout = 3000; ПодключениеАДО.CommandTimeOut = 3000; ПодключениеАДО.Open("Provider=sqloledb; |Data Source="+ПараметрыПодключения.Получить("ServerName")+"; |Initial Catalog="+ПараметрыПодключения.Получить("DBName")+"; |User Id="+ПараметрыПодключения.Получить("User")+"; |Password="+ПараметрыПодключения.Получить("Password")+"; |Connection Timeout = 3000"); Исключение Возврат 0; КонецПопытки; СоединениеУстановлено = 1; Возврат 1; КонецФункции Процедура Сформировать() Если УстановитьСоединиение()<>1 Тогда Возврат; КонецЕсли; КомандаАДО = СоздатьОбъект("ADODB.Command"); КомандаАДО.ActiveConnection = ПодключениеАДО; ПодключениеАДО.BeginTrans(); КомандаАДО.CommandText = ТекстЗапроса; КомандаАДО.Execute(); ПодключениеАДО.CommitTrans(); ОШИБКА: КомандаАДО.Execute(); {D:\БАЗЫ77\SERGEY_ВЫГРУЗКАДАННЫХ\ВЫГРУЗКАТОВАРАSQLWMS.ERT(306)}: Microsoft OLE DB Provider for SQL Server: Incorrect syntax near 'GO'. Хотя, в Management Studio код выполняется на ура |
|||
1
1Сергей
28.07.15
✎
07:47
|
Текст команды:
USE [Bufer]; GO DECLARE @RC int DECLARE @PackKey nvarchar(50) DECLARE @PackDescer nvarchar(50) DECLARE @PackUom1 nvarchar(10) DECLARE @InnerPack int DECLARE @HeighUom1 decimal(9,3) DECLARE @WidthUom1 decimal(9,3) DECLARE @LengthUom1 decimal(9,3) DECLARE @WeightPerPiece decimal(9,3) DECLARE @PackUom2 nvarchar(10) DECLARE @CaseCnt int DECLARE @HeighUom2 decimal(9,3) DECLARE @WidthUom2 decimal(9,3) DECLARE @LengthUom2 decimal(9,3) DECLARE @WeightBox decimal(9,3) DECLARE @PackUom3 nvarchar(10) DECLARE @Pallet int DECLARE @HeighUom3 decimal(9,3) DECLARE @WidthUom3 decimal(9,3) DECLARE @LengthUom3 decimal(9,3) DECLARE @WeightPallet decimal(9,3) -- TODO: задайте здесь значения параметров. SET @PackKey = '040007PS0008DE0000000000000002000UV4000XHK' SET @PackUom1 = 'Шт' SET @InnerPack = 1 SET @WeightPerPiece = 1.085 SET @PackUom2 = '' SET @CaseCnt = 0 SET @WeightBox = 0.000 SET @PackUom3 = 'Ко' SET @Pallet = 4 SET @WeightPallet = 4.340 EXECUTE @RC = [dbo].[ExpItemPackToWMS_ADD] @PackKey ,@PackDescer ,@PackUom1 ,@InnerPack ,@HeighUom1 ,@WidthUom1 ,@LengthUom1 ,@WeightPerPiece ,@PackUom2 ,@CaseCnt ,@HeighUom2 ,@WidthUom2 ,@LengthUom2 ,@WeightBox ,@PackUom3 ,@Pallet ,@HeighUom3 ,@WidthUom3 ,@LengthUom3 ,@WeightPallet; GO |
|||
2
dk
28.07.15
✎
07:52
|
на какой именно команде матерится?
замомменть екзекут |
|||
3
1Сергей
28.07.15
✎
07:53
|
USE [Bufer]
GO КомандаАДО.Execute(); {D:\БАЗЫ77\SERGEY_ВЫГРУЗКАДАННЫХ\ВЫГРУЗКАТОВАРАSQLWMS.ERT(306)}: Microsoft OLE DB Provider for SQL Server: Incorrect syntax near 'GO'. |
|||
4
1Сергей
28.07.15
✎
07:54
|
убрать все GO?
|
|||
5
dk
28.07.15
✎
07:54
|
гоу вообще убрать если?
|
|||
6
1Сергей
28.07.15
✎
07:55
|
Без го взлетело
|
|||
7
dk
28.07.15
✎
07:58
|
юз буфер тоже можешь убрать
у тебя уже указана база в Initial Catalog надумаешь перенести базу, а в коде забита конкретная - не айс |
|||
8
1Сергей
28.07.15
✎
08:00
|
(7) это как раз фигня. База должна быть именно с таким именем
|
|||
9
1Сергей
28.07.15
✎
08:09
|
ща тебе наговорят, типа "с такой полоской, а запросов не знаешь. срамота" :)
|
|||
10
1Сергей
28.07.15
✎
08:10
|
(9) сторно, не туды :)
|
|||
11
ДенисЧ
28.07.15
✎
08:35
|
адо не любит запросов с go.
разделяй на куски. |
|||
12
spock
28.07.15
✎
08:41
|
(1) в t-sql нет такой инструкции как GO. Это инструкция разделения запросов, которая настраивается в SQL Server Management Studio: Сервис - Параметры - Выполнение запроса - Разделитель пакетов.
Замени на ";" и будет как в 1С :)) |
|||
13
1Сергей
28.07.15
✎
08:45
|
а как выполнять Engine-запросы из 1с?
|
|||
14
1Сергей
28.07.15
✎
08:48
|
упростил запрос (1):
[Bufer].[dbo].[ExpItemPackToWMS_ADD] '040007PS0008DE0000000000000002000UV4000XHK' ,NULL ,'Шт' ,1 ,NULL ,NULL ,NULL ,1.085 ,'' ,0 ,NULL ,NULL ,NULL ,0.000 ,'Ко' ,4 ,NULL ,NULL ,NULL ,4.340 |
|||
15
ДенисЧ
28.07.15
✎
08:50
|
(13) А что такое "Engine-запросы"?
|
|||
16
1Сергей
28.07.15
✎
08:53
|
||||
17
ДенисЧ
28.07.15
✎
08:54
|
Ещё раз.
Не надо использовать go в ado-запросах. Сделай 2 запроса. |
|||
18
1Сергей
28.07.15
✎
08:57
|
(17) Да, я уже на один переделал :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |