powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Linked Cache к MS SQL
2 сообщений из 2, страница 1 из 1
Linked Cache к MS SQL
    #33305664
bdv9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прилинковал Cache к MS SQL 2000.
Пытаюсь выполнить из Query Analyzer запрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
DECLARE @dDate1 CHAR( 25 ), @dDate2 CHAR( 25 )
SET @dDate1 = '2005-09-30'
SET @dDate2 = '2005-10-01'

SELECT TOP  1 
 ent.name AS entname,
 dev.voltage,
 dev.id AS dev_id,
 dev.name AS devname,
 zvkn.note_text,
 zvkcat.ident AS category,
 rep.ident AS repair,
 zvkb.PlanDateBegin AS dtPlBeg,
 zvkb.PlanDateEnd AS dtPlEnd,
 zvkb.FactRepairDateBegin AS dtFactBeg,
 zvkb.FactRepairDateEnd AS dtFactEnd,
 zvkb.id AS zvk_id
 FROM
  cache..zvk.zvkbody AS zvkb,
  cache..zvk.enterprise AS ent,
  cache..zvk.zvkcategory AS zvkcat,
  cache..zvk.repairtype AS rep,
  cache..zvk.devicetype AS devt,
  cache..zvk.zvkbody_note AS zvkn,
  cache..zvk.notetype AS nt,
  (SELECT device.id, device.name, device.devicetype, deviceBD.voltage
    FROM cache..zvk.device AS device LEFT JOIN cache..sqluser.devicebd AS deviceBD
    ON device.shifr=devicebd.shifr) AS dev
 WHERE
  zvkb.enterprise=ent.id AND
  zvkb.device=dev.id AND
  zvkb.id=zvkn.zvkbody AND
  zvkn.note_notetype=nt.id AND
  nt.ident='ЗВК_СДР' AND
  zvkb.zvkcategory=zvkcat.id AND
  zvkb.repairtype=rep.id AND
  dev.devicetype=devt.id AND
  devt.ident='ЛЭП' AND
  ( zvkb.factrepairdatebegin>=RTRIM(@dDate1) AND
    zvkb.factrepairdatebegin<=RTRIM(@dDate2) OR
    zvkb.factrepairdateend>=RTRIM(@dDate1) AND
    zvkb.factrepairdateend<=RTRIM(@dDate2) )
 ORDER BY dev.name

Но получаю ошибку:
ODBC: Msg  0 , Level  19 , State  1 
SqlDumpExceptionHandler: Process  54  generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
Server: Msg  7321 , Level  16 , State  2 , Line  12 
An error occurred while preparing a query for execution against OLE DB provider 'MSDASQL'. 
[OLE/DB provider returned message: [Caché ODBC][State :  37000 ][Native Code  23 ]
[C:\PROGRA~ 1 \MICROS~ 2 \MSSQL\binn\sqlservr.exe]
[SQLCODE: <- 23 >:<Label is not listed in FROM>]
[Cache Error: <<SYNTAX>errdone+ 1 ^%qaqqt>]
[Details: <FLoop - func = PP>]
[%msg: < SQL ERROR # 23 : Label ` 3 ,3SQLUSER.QRY1646ZVKB' is not listed in FROM^SELECT Col1645 ,>]]
OLE DB error trace [OLE/DB Provider 'MSDASQL' ICommandPrepare::Prepare returned 0x80040e14].

По отдельности запросы выполняются, комментировал отдельные участки запроса и проверял.
В SQL менеджере Cache запрос также выполняется.

Опытным путем было установлено, что ошибка выходит при попытке связать по условиям более 3-х таблиц.
Так, например такой запрос выполняется:
Код: plaintext
1.
2.
3.
4.
SELECT TOP  1  techviol.name, apv.name AS apv, classif.name AS classif, typeviol.name AS typeviol
 FROM cache..sqluser.techviol AS techviol, cache..sqluser.apv AS apv, cache..sqluser.classif AS classif,
      cache..sqluser.typeviol AS typeviol
 WHERE techviol.apv=apv.id AND techviol.classif=classif.id
А такой запрос уже нет:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SELECT TOP  1  techviol.name, apv.name AS apv, classif.name AS classif, typeviol.name AS typeviol
 FROM cache..sqluser.techviol AS techviol, cache..sqluser.apv AS apv, cache..sqluser.classif AS classif,
      cache..sqluser.typeviol AS typeviol
 WHERE techviol.apv=apv.id AND techviol.classif=classif.id AND techviol.typeviol=typeviol.id

Ошибка:
Server: Msg  7321 , Level  16 , State  2 , Line  1 
An error occurred while preparing a query for execution against OLE DB provider 'MSDASQL'. 
[OLE/DB provider returned message: [Caché ODBC][State :  37000 ][Native Code  23 ]
[C:\PROGRA~ 1 \MICROS~ 2 \MSSQL\binn\sqlservr.exe]
[SQLCODE: <- 23 >:<Label is not listed in FROM>]
[Cache Error: <<SYNTAX>errdone+ 1 ^%qaqqt>]
[Details: <FLoop - func = PP>]
[%msg: < SQL ERROR # 23 : Label ` 3 ,3SQLUSER.QRY1019TECHVIOL' is not listed in FROM^SELECT Col1017 ,>]]
OLE DB error trace [OLE/DB Provider 'MSDASQL' ICommandPrepare::Prepare returned 0x80040e14].

Кто-нибудь выполнял сложные запросы к Cache из MS SQL2000?
Подскажите как можно решить такую проблему.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Linked Cache к MS SQL
    #35158935
Nitro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эта проблема как-то решилась?
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Linked Cache к MS SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]