Трабл с запросом ?

Администрирование баз данных (Pervasive.SQL, MS SQL, Oracle, утилита Support)

Модераторы: m0p3e, edward_K, Модераторы

kircom
Посетитель
Сообщения: 34
Зарегистрирован: 29 мар 2005, 17:49

Трабл с запросом ?

Сообщение kircom »

При использовании запроса
select convert(<поле текст>,SQL_Double) from таблица происходит разрыв соединения с клиеном и выполнение запроса на сервере. Что сделать можно ?
IgorA
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск

Re: Трабл с запросом ?

Сообщение IgorA »

<поле текст> - это поле типа строка?

Для строки конвертировать будет, если нет разделителей разрядов(в том числе пробелов). И еще нужно проверить, что первасив считает разделителем дробной части, точку или запятую.
IgorA
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск

Re: Трабл с запросом ?

Сообщение IgorA »

А еще, возможно, первасив не умеет конвертировать пустые строки.
kircom
Посетитель
Сообщения: 34
Зарегистрирован: 29 мар 2005, 17:49

Re: Трабл с запросом ?

Сообщение kircom »

Для того чтобы небыло непоняток привожу часть запроса:
Select IF(Rtrim(Ltrim(KATPARTY.Nanaliz))='',convert(0,Sql_Double),convert(katparty.nanliz,SQL_Double))
From katparty
Обычно это поле в системе Галактика не используется, но ны его используем для хранения очень хитрого числа очень нам нужного. 8)
IgorA
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск

Re: Трабл с запросом ?

Сообщение IgorA »

У меня этот запрос выполняется, если поле katparty.nanАliz.

>> Обычно это поле в системе Галактика не используется,

В моей базе, это поле, заполнено, хотя я туда ничего, сам, не писал.


p.s. Естественно, этот запрос я выполнял в Первасиве, а не в Галактике.
DarkGreen
Постоянный гость
Сообщения: 89
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Казахсктан Аксуский завод ферросплавов
Контактная информация:

Re: Трабл с запросом ?

Сообщение DarkGreen »

А зачем Rtrim(Ltrim? Любого из них достаточно ;)
А что значит: Разрыв соединения с клиентом и выполнение запроса на сервере? Это как? ???
DarkGreen
Постоянный гость
Сообщения: 89
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Казахсктан Аксуский завод ферросплавов
Контактная информация:

Re: Трабл с запросом ?

Сообщение DarkGreen »

Опс, на счет первого я конечно загнул
kircom
Посетитель
Сообщения: 34
Зарегистрирован: 29 мар 2005, 17:49

Re: Трабл с запросом ?

Сообщение kircom »

Это поле номер лабораторного анализа мы в нем храним нужную нам цифру. Иногда такая же ботва бывает когда делаещь запрос по накладным к графе количество из-за малельких значений типа 0,0001 ;D
kircom
Посетитель
Сообщения: 34
Зарегистрирован: 29 мар 2005, 17:49

Re: Трабл с запросом ?

Сообщение kircom »

Подключаещься к БД Первасивовским монитором и смотришь то что какое-то время сесия которая была разорвана крутится на сервере и занимает ресурсы.
P.S. неходите к БД монитором от Pervasivа с SP4
под Win2000 вещает систему (под Novell незнаяю не пробовал)
DarkGreen
Постоянный гость
Сообщения: 89
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Казахсктан Аксуский завод ферросплавов
Контактная информация:

Re: Трабл с запросом ?

Сообщение DarkGreen »

2 Автор: KIR
Дата: 14-07-03 12:58 MSK+2
Хм... Ходим, пока все в норме. Сервер Win 2000 Advanced, ни разу не вис, ни сервер не клиента.
А сессия была корректно разорвана или нет? Если некорректно, то это вполне нормально, первасив по идее, должен раз в какой-нить квант времени посылать клиенту вопрос, типа "ты еще жив?". Если клиент отвечает, то все в норме, если не, то обрывает у себя сессию, освобождает ресурсы и т. д.
IgorA
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск

Re: Трабл с запросом ?

Сообщение IgorA »

То, что после зависания клиента, на сервере какое-то время остается сесия - это нормально(хорошо, что остается не навсегда).

А вот, что с запросом, не понимаю, у меня он выполняется, пробовал заносить в поле значение 0.000000000000001 , то же работает.
Может это проблемы среды, из которой выполняется запрос?
Я запускал запрос в SQL Explorer'е из поставки Delphi и в Первасивавском SQL менеджере.

И еще, я работаю с монитором от Pervasivа с SP4, и проблем не было.
kircom
Посетитель
Сообщения: 34
Зарегистрирован: 29 мар 2005, 17:49

Re: Трабл с запросом ?

Сообщение kircom »

Из под Delphi как "ходили" можно поподробнее??/ ???
IgorA
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск

Re: Трабл с запросом ?

Сообщение IgorA »

Саппортом сделал ADF->DDF.
В Pervasive Control Center'е, для сервера сделал "New DataBase".
На клиенте в источниках ODBC, на закладке - пользовательский DSN, добавил новый источник данных.
После этого с созданным источником данных можно работать через BDE.
kircom
Посетитель
Сообщения: 34
Зарегистрирован: 29 мар 2005, 17:49

Re: Трабл с запросом ?

Сообщение kircom »

Ну фактически через теже самые ODBC драйвера MS Windows ...
IgorA
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярск

Re: Трабл с запросом ?

Сообщение IgorA »

Конечно через ODBC, только эти драйверы Первасивовские(ставятся с клиентом), а не MS.
Для эксперимента можно попробовать выполнить запрос в Контрол центре.
А еще можно поставить ограничение where ... на запрос, что бы в запрос попадала только одна запись, и занести в эту запись значение, которое точно должно конвертироваться, например 123 .
Ответить