Обновили клиент без обновления сервера. программа запускается, но каждый раз выдает ошибку (картинка во вложении). Как это можно исправить?
Ещё раз обновите клиента. Клиенты обновлены на всех станциях? В базу самосстоятельных изменений не делали?
что значит самостоятельные обновления базы?
Установили на всех станциях. сначала один раз, потом переустановили.
Ошибка теперь такая (во вложении).
На сервере ничего не делали.
Не обновления я сказал , а изменения. Добавлять поля, изменять структуру.
У меня было похлже вашему предупреждение когда базу принес с обной версии а подключил к другой.
Обновите клиента на всех станциях.
С любой станции такая ошибка?
Думаю установлен не родной Firebird, переустановите Сервер и чтобы при его установке не было ошибок.
Сервер именно переустанавливать или просто обновить?
У нас Firebird v. 1.5.6 под Линуксом стоит. Как его переустанавливать?)
Цитата: nyushiki від Жовтень 09, 2013, 14:39:44
У нас Firebird v. 1.5.6 под Линуксом стоит. Как его переустанавливать?)
Тут инструкция
http://www.softbalance.com.ua/forum/index.php/topic,2046.msg11525.html#msg11525 (http://www.softbalance.com.ua/forum/index.php/topic,2046.msg11525.html#msg11525)
а именно п.5 у вас не выполнен.
Сделали по инструкции. Теперь вот такую ошибку выдает:
CREATE PROCEDURE tovar_nacenka (
tovar_id_in INTEGER,
grupa_id_in INTEGER,
cena_in DOUBLE PRECISION,
cena_r_in DOUBLE PRECISION,
cena_o_in DOUBLE PRECISION,
cena_1_in DOUBLE PRECISION,
cena_2_in DOUBLE PRECISION,
cena_3_in DOUBLE PRECISION)
RETURNS (
cena_out DOUBLE PRECISION,
cena_r_out DOUBLE PRECISION,
cena_o_out DOUBLE PRECISION,
cena_1_out DOUBLE PRECISION,
cena_2_out DOUBLE PRECISION,
cena_3_out DOUBLE PRECISION)
AS
DECLARE VARIABLE grupa_id INTEGER;
BEGIN
--
-- Пример наценки скриптом:
--
-- Начало скрипта наценки
IF(grupa_id_in = 34) THEN
BEGIN
-- наценка 40% розничной, 30% оптовой, 20% цена 1, 15% цена 2, +2 грн. для цена 3, на группу ID = 34, округление до двух знаков после запятой
cena_r_out = udf_roundto(cena_in * 1.4, 2);
cena_o_out = udf_roundto(cena_in * 1.3, 2);
cena_1_out = udf_roundto(cena_in * 1.2, 2);
cena_2_out = udf_roundto(cena_in * 1.15, 2);
cena_3_out = udf_roundto(cena_in + 2, 2);
END
ELSE
BEGIN
-- для всех других групп другие условия
IF (cena_in <= 5) THEN
BEGIN
-- наценка 20% на розницу если цена прихода от 0грн. до 5грн.
cena_r_out = udf_roundto(cena_in * 1.2, 2);
END
ELSE
IF (cena_in > 5 AND cena_in <= 10) THEN
BEGIN
-- наценка 18% на розницу если цена прихода от 5грн. до 10грн.
cena_r_out = udf_roundto(cena_in * 1.18, 2);
END
ELSE
IF (cena_in > 10) THEN
BEGIN
-- наценка 14% на оптовой если цена прихода от 10грн.
cena_o_out = udf_roundto(cena_in * 1.14, 2);
--наценка 10% розничной от оптовой цены
cena_r_out = udf_roundto(cena_o_out * 1.10, 2);
--наценка +5 грн от оптовой цены для цены 1
cena_1_out = udf_roundto(cena_o_out + 5, 2);
END
END
-- Конец скрипта наценки
SUSPEND;
END
DataM.sScript:
Can't format message 13:393 -- message file C:\Program Files\firebird.msg not found.
Unsuccessful metadata update.
STORE RDB$PROCEDURE_PARAMETERS failed.
Lock conflict on no wait transaction.
Attempt to store duplicate value (visible to active transactions) in unique index "RDB$INDEX_18".
При обновлении надо обязательно выходить из всех клиентов кроме того который делает апдейт. Если выходили значит пишите на поддержку.