Проблема с OpenDataSource

Обсуждение MAV Direct ODBC

Модератор: Andrew™

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
Ravenous
Бывалый
Сообщения: 56
Зарегистрирован: 06 Июль 2005, 14:25
Откуда: Москва

Проблема с OpenDataSource

Сообщение Ravenous »

Не работает такая конструкция :(

Код: Выделить всё

Loc_Exec      MAVExecute
 Code

 MAVLOGOUT  
 If loc_Exec.Run('INSERT INTO ORD_PRICES ("SUPPID", "SUPPTMCID","SUPPTMCNAME") SELECT 2 AS SUPPID, sel."F1" AS SUPPTMCID,sel."F2" AS SUPPTMCNAME FROM OpenDataSource(''Microsoft.Jet.OLEDB.4.0'',''Data Source="C:\!\price.xls";User ID=Admin;Password=;Extended properties="Excel 5.0;HDR=NO;IMEX=2;"'')..."PRICE$" AS sel')
    MAVSHOWERROR
    MAVROLLBACK
 End
 MAVCOMMIT  
выдает вот такую ошибку

Код: Выделить всё

Computer : HELGA
User     : Ravenous
Date     : 18.04.2006
Time     : 22:43:04
Program  : C:\Unico\uniORDER\bin\uniORS.exe
Error    : [8501] [Microsoft][ODBC SQL Server Driver][SQL Server]MSDTC on server 'HELGA' is unavailable. (42000)
           SQL Statement - INSERT INTO ORD_PRICES ("SUPPID","SUPPTMCID","SUPPTMCNAME") SELECT 2 AS SUPPID,sel."F1" AS SUPPTMCID,sel."F2" AS SUPPTMCNAME FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="C:\!\price.xls";User ID=Admin;Password=;Extended properties="Excel 5.0;HDR=NO;IMEX=2;"')..."PRICE$" AS sel
Все начинает работать, как только я отключаю MAVLOGOUT...MAVCOMMIT
Благодарень за терпение и понимание.

Изображение
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

Re: Проблема с OpenDataSource

Сообщение Andrew™ »

Ravenous писал(а):Не работает такая конструкция :(

Код: Выделить всё

Loc_Exec      MAVExecute
 Code

 MAVLOGOUT  
 If loc_Exec.Run('INSERT INTO ORD_PRICES ("SUPPID", "SUPPTMCID","SUPPTMCNAME") SELECT 2 AS SUPPID, sel."F1" AS SUPPTMCID,sel."F2" AS SUPPTMCNAME FROM OpenDataSource(''Microsoft.Jet.OLEDB.4.0'',''Data Source="C:\!\price.xls";User ID=Admin;Password=;Extended properties="Excel 5.0;HDR=NO;IMEX=2;"'')..."PRICE$" AS sel')
    MAVSHOWERROR
    MAVROLLBACK
 End
 MAVCOMMIT  
выдает вот такую ошибку

Код: Выделить всё

Computer : HELGA
User     : Ravenous
Date     : 18.04.2006
Time     : 22:43:04
Program  : C:\Unico\uniORDER\bin\uniORS.exe
Error    : [8501] [Microsoft][ODBC SQL Server Driver][SQL Server]MSDTC on server 'HELGA' is unavailable. (42000)
           SQL Statement - INSERT INTO ORD_PRICES ("SUPPID","SUPPTMCID","SUPPTMCNAME") SELECT 2 AS SUPPID,sel."F1" AS SUPPTMCID,sel."F2" AS SUPPTMCNAME FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="C:\!\price.xls";User ID=Admin;Password=;Extended properties="Excel 5.0;HDR=NO;IMEX=2;"')..."PRICE$" AS sel
Все начинает работать, как только я отключаю MAVLOGOUT...MAVCOMMIT
MAVLOGOUT юзает стандартные уровни изоляции, что мешает тебе отказаться в данном варианте от них а перейти на явные вызовы begin tran
end tran

через MAVExecute
Аватара пользователя
Ravenous
Бывалый
Сообщения: 56
Зарегистрирован: 06 Июль 2005, 14:25
Откуда: Москва

Сообщение Ravenous »

MAVLOGOUT юзает стандартные уровни изоляции, что мешает тебе отказаться в данном варианте от них а перейти на явные вызовы begin tran
end tran

через MAVExecute
Да, собственно ничего не мешает :)
Скорее всего так и сделаю...
Просто вдруг наткнулся. В остальных местах, где нет OpenDataSource, работает, а тут вот так :(
Благодарень за терпение и понимание.

Изображение
Ответить