|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
Имею под серваком SQL2000 базу данных. Создал в фоксовской базе данных удаленные представления к таблицам (Remote Views). Применяю к строкам представления обычные фоксовские команды - Insert, Replace, Delete и т.д. (в любом порядке), все работает как положено. Но если после этих команд я послаю SQL команду на удаление группы строк таблицы прямо в SQL базе (для уменьшения трафика): = SQLEXEC(nCurConnection, "Delete Serj.SprPokaz From Serj.SprPokaz Inner Join "+ "(Serj.SprUnitList Inner Join Serj.SprHome On Serj.SprUnitList.Id_SprHome=Serj.SprHome.Id) "+; "On Serj.SprPokaz.Id_SprUnitList=Serj.SprUnitList.Id "+; "Where Serj.SprHome.Id_SprGeu = ?TreeView.Id_SprGeu And Serj.SprPokaz.dDt BetWeen ?dDtFrom And ?dDtTill") , выдается сообщение " Connectivity Error [ODBC SQL Driver] Время ожидания истекло. " Самое интересное то, что если я применяю выше указанную команду первой (до корректировки представления или добавления записей в представление) все работает как часы. В чем может быть прикол? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 15:17 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
Код: plaintext
Что возвращает? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 15:28 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
nCurConnection - это новое соединение или то же самое, по которому подключается Remote View? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 15:41 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
ВладимирМ, nCurConnection = SQLCONNECT('ConnectKip') ConnectKip - Connections ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 16:34 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
PaulWist, 2 - ручная ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 16:37 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
Если коннект RV и nCurConnection разные соединения, то выполнение через nCurConnection - это другое подключение и nCurConnection ждет завершения транзакции у RV ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 16:51 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
во-первых, я Вас умоляю, пишите так, как я показал (сами глаза ломаете и других заставляете) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
во-вторых трейс в студию смотрим в профайлере какие выполняются команды + пробуем вместо ? (параметров) в исполняемую строку написать прямо значения ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 16:52 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
PaulWist, Один и тот же ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 16:55 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
+ Вы точно уверены, что перед выполнением sqlexec все изменения, произведенные в RW сохранены? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 16:55 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
прошелмимо, У меня со структурой написания кода все в порядке. Правильно сам сайт писать не дает. Но дело не в этом. Трассировал. Все переменные в норме. Дело в том, что если я SqlExec выполняю первоначально, то ни каких проблем нет. А после корректировки поля записи View-а почему-то не хочет. Причем прежде чем ошибку выбросить, как положено по таймеру отсчитывает время задержки на выполнение. Такое ощущение, что не происходит разблокировки таблицы в SQL базе. Но фоксовские команды при этом нормально отрабатывают. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 17:02 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
прошелмимо, Да. После корректировки я делаю ReQuery ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 17:03 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
Уже просили - показать трейс из профайлера в первом и во втором случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 17:11 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
PaulWist, Объясни тупому, что имеется ввиду. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 17:21 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
Вот эта команда посылается на сервер MSSQL Код: plaintext 1. 2. 3.
У сервера есть тулза PerfomanceMonitor которая ловит все запросы к серверу, так вот в этой тулзе надо посмотреть, а какие команды посылаются на сервер, тогда будет более ясно почему второй запрос не проходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 17:26 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
SQL2000 запустите профайлер и смотрите трейс, можете нам показать если не разберетесь (там есть возможность записать трейс в файл) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 17:27 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
прошелмимо, Попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 17:28 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
Какие опции (avialable event classes) выбрать, чтобы не все гнало? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 17:32 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
http://www.youtube.com/results?search_type=&search_query=profiler+sql2000&aq=f + поиск по ключ.слова на форуме mssqlserver + укажите в template стандарт для начала ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 17:36 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
прошелмимо, Вместе с серваком установлен просто SQL Profiler. Его запустил, выбрал все опции. Файл создал, но он получился на 4 метра. Может не все надо выбирать? А вообще сервак не я устанавливал. У тебя на сайте есть DTS Package Profiler, а у меня просто SQL Profiler. Может чего до установить надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 17:52 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
Korolyov_SВладимирМ, nCurConnection = SQLCONNECT('ConnectKip') ConnectKip - Connections Вы не поняли вопроса. Чтобы команда SQLExec() и Remote View работали в одном и том же соединении можно использовать две стратегии: 1. Открыть Remote View, а затем прочитать хендл (идентификатор) установленного соединения Код: plaintext
Здесь MyRemoteView - это алиас открытого Remote View 2. Другой вариант - это сначала создать соединение Код: plaintext
А потом открыть Remote View, используя это соединение Код: plaintext
Если же открытие Remote View производится автоматически, вне зависимости от команды создания соединения, то вы получаете ДВА соединения. Два подключения к серверу. По сути, симулируете многопользовательскую работу, когда к серверу подключаются два человека. Вот мы с Павлом и пытаемся от вас добиться ответа на вопрос: вы создаете ДВА соединения? Одно для Remote View, другое для SQLExec(). Или используете одно общее? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2009, 21:10 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
вот этот блок меня ввергает в ступор авторIF @@TRANCOUNT > 0 ROLLBACK TRAN go IF @@TRANCOUNT > 0 COMMIT TRAN go IF @@TRANCOUNT > 0 COMMIT TRAN go IF @@TRANCOUNT > 0 COMMIT TRAN go IF @@TRANCOUNT > 0 COMMIT TRAN go IF @@TRANCOUNT > 0 COMMIT TRAN go IF @@TRANCOUNT > 0 COMMIT TRAN go IF @@TRANCOUNT > 0 COMMIT TRAN go IF @@TRANCOUNT > 0 COMMIT TRAN go IF @@TRANCOUNT > 0 COMMIT TRAN go IF @@TRANCOUNT > 0 COMMIT TRAN go IF @@TRANCOUNT > 0 COMMIT TRAN go разберитесь, почему генерятся эти команды на сервер уберите все транзакции из кода, снимите все галки(если есть такие) об использ-и транзакций в RV + просьба трейс снимать не для всего сеанса работы а именно с точки начала запроса и ред-я данных в RV ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2009, 09:10 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
ВладимирМ, Сейчас проверю. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2009, 09:23 |
|
vfp9 и Sql2000
|
|||
---|---|---|---|
#18+
прошелмимо, Сейчас сделаю по другому ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2009, 09:24 |
|
|
start [/forum/topic.php?fid=41&msg=35994844&tid=1586426]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
575ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 693ms |
0 / 0 |