|
|
|
Не могу из SQL сервера проселектить
|
|||
|---|---|---|---|
|
#18+
Пишу|: begin distributed transaction select I.FID1, I.FACTIVE from SRVAPACS...TAPCACCOUNTINFO I, SRVAPACS...TAPCCARDHOLDERREF R where I.FID1 = R.FSACARD1 and I.FACTIVE = 1 Выдает ошибку: OLE DB provider "LCPI.IBProvider.3" for linked server "SRVAPACS" returned message "Ошибка подготовки SQL выражения. Dynamic SQL Error SQL error code = -104 Token unknown - line 1, column 63 SELECT". Сообщение 7321, уровень 16, состояние 2, строка 2 An error occurred while preparing the query "SELECT "Col1022","Col1024" FROM "TAPCCARDHOLDERREF" "Tbl1003",(SELECT "Tbl1001"."FACTIVE" "Col1022","Tbl1001"."FID1" "Col1024","Tbl1001"."FID0" "Col1023" FROM "TAPCACCOUNTINFO" "Tbl1001" WHERE "Tbl1001"."FACTIVE"=(1)) Qry1025 WHERE "Col1024"="Tbl1003"."FSACARD1"" for execution against OLE DB provider "LCPI.IBProvider.3" for linked server "SRVAPACS". Что не так не пойму, подскажите кто знает. Структура таблиц: CREATE TABLE "TAPCACCOUNTINFO" ( "FACTIVE" SMALLINT NOT NULL, "FID0" SMALLINT NOT NULL, "FID1" INTEGER NOT NULL, "FIDENTIFICATIONPROPS" BLOB SUB_TYPE 0 SEGMENT SIZE 80 NOT NULL, "FSGPROPS" BLOB SUB_TYPE 0 SEGMENT SIZE 80 NOT NULL, "FSTATUS" SMALLINT NOT NULL, "FTEMPLATEID0" SMALLINT NOT NULL, "FTEMPLATEID1" INTEGER NOT NULL, CONSTRAINT "PK_TAPCACCOUNTINFO" PRIMARY KEY ("FID0", "FID1") ); CREATE TABLE "TAPCCARDHOLDERREF" ( "FSEK0" SMALLINT NOT NULL, "FSEK1" INTEGER NOT NULL, "FSACARD0" SMALLINT, "FSACARD1" INTEGER, "FCARDNUM" INTEGER, "FSAHOLDER0" SMALLINT, "FSAHOLDER1" INTEGER, "FHOLDERNAME" VARCHAR(128), CONSTRAINT "PK_TAPCCARDHOLDERREF" PRIMARY KEY ("FSEK0", "FSEK1") ); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2014, 15:50:27 |
|
||
|
Не могу из SQL сервера проселектить
|
|||
|---|---|---|---|
|
#18+
dfgdfg, если используешь fb2.5 посмотри трейсом что приходит на сторону FB. Если тот запрос отдельно нормально выполняется значит что-то не так написано в MSSQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2014, 16:07:35 |
|
||
|
Не могу из SQL сервера проселектить
|
|||
|---|---|---|---|
|
#18+
Ты пишешь "select I.FID1, I.FACTIVE from SRVAPACS...TAPCACCOUNTINFO I, SRVAPACS...TAPCCARDHOLDERREF R where I.FID1 = R.FSACARD1 and I.FACTIVE = 1", а на выполнение отправляется "SELECT "Col1022","Col1024" FROM "TAPCCARDHOLDERREF" "Tbl1003",(SELECT "Tbl1001"."FACTIVE" "Col1022","Tbl1001"."FID1" "Col1024","Tbl1001"."FID0" "Col1023" FROM "TAPCACCOUNTINFO" "Tbl1001" WHERE "Tbl1001"."FACTIVE"=(1)) Qry1025 WHERE "Col1024"="Tbl1003"."FSACARD1""?.. Ню-ню... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2014, 18:11:25 |
|
||
|
Не могу из SQL сервера проселектить
|
|||
|---|---|---|---|
|
#18+
dfgdfg, Тебе сервер (Interbase или FB ниже 2.5) по-русски сказал - ему не нравится SELECT, который начинается с 63-го символа. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Такие запросы поддерживаются начиная с FB2.5. Я проверил - твой запрос на твоих таблицах на FB2.5 через MSSQL 2008 отрабатывает без проблем. В твоем случае, тебе стоит воспользоваться инструкцией "EXEC('<тут идет прямой запрос к IB/FB>') AT <linked_server_name>". Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Через "EXEC ... AT ..." (похоже) можно пропихнуть любой запрос. В том числе с параметрами. Пример . Главное - не забывать экранировать одинарные кавычки в тексте запроса к FB/IB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2014, 22:01:46 |
|
||
|
Не могу из SQL сервера проселектить
|
|||
|---|---|---|---|
|
#18+
Через Exec работает, но мне нужно вернуть данные в MS SQL таблицу, как их из EXEC доставать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2014, 09:31:35 |
|
||
|
Не могу из SQL сервера проселектить
|
|||
|---|---|---|---|
|
#18+
dfgdfg, Похоже, тебя спасет только OPENQUERY Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Запрос вида Код: sql 1. 2. 3. 4. 5. 6. 7. компилируется без проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2014, 18:59:44 |
|
||
|
Не могу из SQL сервера проселектить
|
|||
|---|---|---|---|
|
#18+
Cпасибо большое, попробую! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 10:49:21 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=103&tid=1563917]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
273ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 227ms |
| total: | 617ms |

| 0 / 0 |
