|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
25.02.2009, 11:57 | #1 | |
Почему выполненяется только 1 sql запрос к ADODB без использования базы данных по умолчанию?
Продуман
Питер
Регистрация: 22.02.2007
Сообщений: 2,840
|
||
Просмотров: 3930
|
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Цитата:
(vlax-invoke-method connect "execute" "use test" T T) - тоже кстати sql запрос.
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 25.02.2009 в 12:57. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
А зачем она там нужна - я ж не с клавиатуры в mysql ввожу - где конец запроса он (компьютер) и так прекрасно видит - в 1 случае-то работает, да и во 2 recordset на первый запрос возращает - причем читабельный.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
CNC Регистрация: 07.07.2007
Israel
Сообщений: 302
|
Хорошо убедил, что работает без ";" есть еще одна вещь если я правильно понял то первый раз работает, а повторно
неполучается, нужно модель перезагружать. Тогда наводит на мысль,что после запросов надо каким-то образом делать disconnect, так это работает с использованием библиотеки ADOLisp, посмотри у них, что они там делают для закрытия соединения. Код:
|
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Вот и хочеться понять почему его надо делать? Ведь при установленной "use test", дальше делай что хочешь, можешь даже соединение закрыть (vlax-invoke-method connect "close"), а потом открыть заново и БЕЗ УСТАНОВКИ БД ПО УМОЛЧАНИЮ все работает - любые select'ы вызывай сколько угодно - если будешь обращаться к таблицам - напишет что БД не выбрана, ну а тот-же "show databases" хоть милион раз. похоже на глюк или особенность хитрую то-ли odbc, то-ли mysql (надо проверить на других источниках данных).
А зачем смотреть как в AdoLisp это сделанно - в доке к ADODB все методы расписанны и close и disconnect - только не похоже что дело в них. P.S. Вобщем если не понятно то распишу поподробней: Если я соединяюсь с БД (все операции без adolisp, через vla), соединение проходит корректно, но в случае если не устанавливаеться БД по умолчанию "(vlax-invoke-method connect "execute" "use test" T T)", то выполняеться только один запрос, после чего обращение к БД завершаеться ошибкой синаксиса команды???, если же установить БД, то все работает корректно, причем будет работать и в другом сеансе и вообще пока ПОЛНОСТЬЮ не перезагрузить автокад, то есть для корректной работы видимо необходимо, чтоб висел recordset возращаемый (... execute "use XXX"), почему не знаю, о чем и спрашиваю.
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 25.02.2009 в 16:52. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Мне почему-то кажется, что проблема в строке соединения.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
CNC Регистрация: 07.07.2007
Israel
Сообщений: 302
|
У меня есть еще одна мысль, посмотрев различные коды на PHP я обратил внимание, что там тоже все время производится отключение от сервера, возможно это настройка сервера такая, что подключившись
и незакончив выполнение запроса в течении скольки-то милисекунд сервер выдает ошибку, возможно стоит задать этот вопрос на MySQL-ном форуме или PHP-истам, можешь сам конечно покрутить сервер, через phpMyAdmin в закладке Server variables and settings, нехочу толкать тебя на неправильный путь, это только мои мысли. |
|||