Трабл с запросом ?
Модераторы: m0p3e, edward_K, Модераторы
Трабл с запросом ?
При использовании запроса
select convert(<поле текст>,SQL_Double) from таблица происходит разрыв соединения с клиеном и выполнение запроса на сервере. Что сделать можно ?
select convert(<поле текст>,SQL_Double) from таблица происходит разрыв соединения с клиеном и выполнение запроса на сервере. Что сделать можно ?
Re: Трабл с запросом ?
<поле текст> - это поле типа строка?
Для строки конвертировать будет, если нет разделителей разрядов(в том числе пробелов). И еще нужно проверить, что первасив считает разделителем дробной части, точку или запятую.
Для строки конвертировать будет, если нет разделителей разрядов(в том числе пробелов). И еще нужно проверить, что первасив считает разделителем дробной части, точку или запятую.
Re: Трабл с запросом ?
А еще, возможно, первасив не умеет конвертировать пустые строки.
Re: Трабл с запросом ?
Для того чтобы небыло непоняток привожу часть запроса:
Select IF(Rtrim(Ltrim(KATPARTY.Nanaliz))='',convert(0,Sql_Double),convert(katparty.nanliz,SQL_Double))
From katparty
Обычно это поле в системе Галактика не используется, но ны его используем для хранения очень хитрого числа очень нам нужного.
Select IF(Rtrim(Ltrim(KATPARTY.Nanaliz))='',convert(0,Sql_Double),convert(katparty.nanliz,SQL_Double))
From katparty
Обычно это поле в системе Галактика не используется, но ны его используем для хранения очень хитрого числа очень нам нужного.
Re: Трабл с запросом ?
У меня этот запрос выполняется, если поле katparty.nanАliz.
>> Обычно это поле в системе Галактика не используется,
В моей базе, это поле, заполнено, хотя я туда ничего, сам, не писал.
p.s. Естественно, этот запрос я выполнял в Первасиве, а не в Галактике.
>> Обычно это поле в системе Галактика не используется,
В моей базе, это поле, заполнено, хотя я туда ничего, сам, не писал.
p.s. Естественно, этот запрос я выполнял в Первасиве, а не в Галактике.
-
- Постоянный гость
- Сообщения: 89
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Казахсктан Аксуский завод ферросплавов
- Контактная информация:
Re: Трабл с запросом ?
А зачем Rtrim(Ltrim? Любого из них достаточно
А что значит: Разрыв соединения с клиентом и выполнение запроса на сервере? Это как? ???
А что значит: Разрыв соединения с клиентом и выполнение запроса на сервере? Это как? ???
-
- Постоянный гость
- Сообщения: 89
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Казахсктан Аксуский завод ферросплавов
- Контактная информация:
Re: Трабл с запросом ?
Опс, на счет первого я конечно загнул
Re: Трабл с запросом ?
Это поле номер лабораторного анализа мы в нем храним нужную нам цифру. Иногда такая же ботва бывает когда делаещь запрос по накладным к графе количество из-за малельких значений типа 0,0001 ;D
Re: Трабл с запросом ?
Подключаещься к БД Первасивовским монитором и смотришь то что какое-то время сесия которая была разорвана крутится на сервере и занимает ресурсы.
P.S. неходите к БД монитором от Pervasivа с SP4
под Win2000 вещает систему (под Novell незнаяю не пробовал)
P.S. неходите к БД монитором от Pervasivа с SP4
под Win2000 вещает систему (под Novell незнаяю не пробовал)
-
- Постоянный гость
- Сообщения: 89
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Казахсктан Аксуский завод ферросплавов
- Контактная информация:
Re: Трабл с запросом ?
2 Автор: KIR
Дата: 14-07-03 12:58 MSK+2
Хм... Ходим, пока все в норме. Сервер Win 2000 Advanced, ни разу не вис, ни сервер не клиента.
А сессия была корректно разорвана или нет? Если некорректно, то это вполне нормально, первасив по идее, должен раз в какой-нить квант времени посылать клиенту вопрос, типа "ты еще жив?". Если клиент отвечает, то все в норме, если не, то обрывает у себя сессию, освобождает ресурсы и т. д.
Дата: 14-07-03 12:58 MSK+2
Хм... Ходим, пока все в норме. Сервер Win 2000 Advanced, ни разу не вис, ни сервер не клиента.
А сессия была корректно разорвана или нет? Если некорректно, то это вполне нормально, первасив по идее, должен раз в какой-нить квант времени посылать клиенту вопрос, типа "ты еще жив?". Если клиент отвечает, то все в норме, если не, то обрывает у себя сессию, освобождает ресурсы и т. д.
Re: Трабл с запросом ?
То, что после зависания клиента, на сервере какое-то время остается сесия - это нормально(хорошо, что остается не навсегда).
А вот, что с запросом, не понимаю, у меня он выполняется, пробовал заносить в поле значение 0.000000000000001 , то же работает.
Может это проблемы среды, из которой выполняется запрос?
Я запускал запрос в SQL Explorer'е из поставки Delphi и в Первасивавском SQL менеджере.
И еще, я работаю с монитором от Pervasivа с SP4, и проблем не было.
А вот, что с запросом, не понимаю, у меня он выполняется, пробовал заносить в поле значение 0.000000000000001 , то же работает.
Может это проблемы среды, из которой выполняется запрос?
Я запускал запрос в SQL Explorer'е из поставки Delphi и в Первасивавском SQL менеджере.
И еще, я работаю с монитором от Pervasivа с SP4, и проблем не было.
Re: Трабл с запросом ?
Из под Delphi как "ходили" можно поподробнее??/ ???
Re: Трабл с запросом ?
Саппортом сделал ADF->DDF.
В Pervasive Control Center'е, для сервера сделал "New DataBase".
На клиенте в источниках ODBC, на закладке - пользовательский DSN, добавил новый источник данных.
После этого с созданным источником данных можно работать через BDE.
В Pervasive Control Center'е, для сервера сделал "New DataBase".
На клиенте в источниках ODBC, на закладке - пользовательский DSN, добавил новый источник данных.
После этого с созданным источником данных можно работать через BDE.
Re: Трабл с запросом ?
Ну фактически через теже самые ODBC драйвера MS Windows ...
Re: Трабл с запросом ?
Конечно через ODBC, только эти драйверы Первасивовские(ставятся с клиентом), а не MS.
Для эксперимента можно попробовать выполнить запрос в Контрол центре.
А еще можно поставить ограничение where ... на запрос, что бы в запрос попадала только одна запись, и занести в эту запись значение, которое точно должно конвертироваться, например 123 .
Для эксперимента можно попробовать выполнить запрос в Контрол центре.
А еще можно поставить ограничение where ... на запрос, что бы в запрос попадала только одна запись, и занести в эту запись значение, которое точно должно конвертироваться, например 123 .