|
|
|
достало
|
|||
|---|---|---|---|
|
#18+
помжите ..... вот 2 процедуры 1 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 2 - Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. пытаемся использовать - Код: plaintext 1. первая не работает а вторая Ок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 15:21:59 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
Перепутали процедуры - у Вас Sp_tttl с параметром, а вызываете ее без... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 15:28:12 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
пардон ... опечатался... но проблемы не решает.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 15:45:24 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
в общем работает только которая с параметром... проблема в том что нужна как раз та что без параметров.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 15:52:15 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
А вот это, скорее всего связано с тем, что Sp_ttt при вызове: Код: plaintext 1. 2. возвращает информацию о столбцах... А первая - нет. Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 16:03:27 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
в том то и дело что не стоит FMTONLY.... и не просто невыполняется а ругается конкретно.... The operation could not be performed because the OLE DB provider 'MSDASQL' was unable to begin a distributed transaction. [OLE/DB provider returned message: [Microsoft][ODBC Visual FoxPro Driver]Driver not capable] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 16:16:36 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
в том то и дело что не стоит FMTONLY.... Вы не поняли меня. Речь о том, что если запустить Ваши процедуры с опцией FMTONLY (например, в Query Analyzer), то одна из них вернет набор столбцов, другая - нет. Причем та, что вернет, не будет работать, ежели из нее SELECT убрать.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 16:27:50 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
Код: plaintext возвращает конкретные данные.... таблица около 7000 строк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 16:40:42 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
Давайте все с нуля (т.к. были опечатки): 1. Тело каждой из процедур 2. Вызовы - работающие и нет 3. Вызовы после установки SET FMTONLY ON ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 16:57:16 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
процедура 1 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. процедура 2 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. и соответственно вызовы... 1 - работает Код: plaintext 1. 2 - не работает Код: plaintext если перед вызовом выставить FMTONLY ON nто все равно первая возвращает структуру, а вторая ругается... да во второй процедуре в принципе подставляется тот же параметр что и в первой просто формируется по другому.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 17:12:30 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
А проверялось, что содержится в переменной @t после соотв. селекта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 17:54:03 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
Убедиться бы в этом не мешало ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 17:59:22 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
Все таки, мне кажется, что все дело в FMTONLY. Скажем, для второй процедуры (Sp_ttt) значение @t при вызове с FMTONLY (а именно с FMTONLY оно вызывается сначала в случае OPENROWSET) будет пуста... Соответственно, вложенный OPENROWSET ничего не получает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 18:06:51 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
база tt : единственный столбец - id единственная строка - 33 база allbases: поле id поле tbl (varchar(30)) имена таблиц Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 18:12:15 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
в базе main.dbf около 7000 записей.... и еще раз повторяю первый запрос возвращает все записи... второй ругается :- The operation could not be performed because the OLE DB provider 'MSDASQL' was unable to begin a distributed transaction. [OLE/DB provider returned message: [Microsoft][ODBC Visual FoxPro Driver]Driver not capable] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 18:17:21 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
и еще ... заменил exec на print @t print @sqltxt резултаты абсолютно идентичны!.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 18:29:07 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
вооот.... и тишинаааа.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2002, 09:37:37 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
Ok Ну а простой вызов EXEC [best].[dbo].[Sp_ttt] с FMTONLY ON/OFF что дает ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2002, 10:01:12 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
MSDTC запущен? Процедура запускается не из-под триггером случайно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2002, 10:58:01 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
Glory с FMTONLY OFF просто exec возвращает записи и OFF возвращает структуру.... Dankov в том то и дело что нет.... когда использую просто exec обе работают нормально, т.е. возвращают записи как только через openquery или openrowset ... грабли... там где имя таблици формируется динамически с использованием таблиц грабли... где параметр передаю все ок!... но ведь нужно динамически блин! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2002, 12:25:12 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
У меня вот это работает без проблем Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2002, 13:12:49 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
пе прокатит.... :(( нужен FOXPRO-шный драйвер.... есть базы которые только он и откроет.... базы клипперовские индексы CDX.... в принципе нужно это иногда.... и только чтобы создать метаданные по этим таблицам... потом используя их динамически создавать временные таблицы для связки INSERT EXEC... если б работал select exec вообще прблем бы не было.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2002, 14:16:26 |
|
||
|
достало
|
|||
|---|---|---|---|
|
#18+
Если вникнуть в смысел ошибки "was unable to begin a distributed transaction", то становится очевидно, что MSDTC должен быть обязатлеьно запущен, ибо без него любая distributed транзакция благополучно обломится. А вот почему она становится distributed в случае с двумя селектами, это интересно, но непонятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2002, 18:30:56 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32037377&tid=1821676]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
77ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 400ms |

| 0 / 0 |
