Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
PATRI0T
Member

Откуда: Майкоп
Сообщений: 107
SQL> show table ORDERS;
ID                              INTEGER Not Null
MANAGER                         VARCHAR(30) Nullable
CLIENT                          VARCHAR(30) Nullable
ORDERNUM                        VARCHAR(70) Nullable
ITM_ORDERNUM                    VARCHAR(100) Nullable
FASAD_MAT                       VARCHAR(30) Nullable
FASAD_MODEL                     VARCHAR(30) Nullable
FASAD_PG_WIDTH                  INTEGER Nullable
TEXTURE                         VARCHAR(50) Nullable
FIL_MAT                         VARCHAR(50) Nullable
FIL_MODEL                       VARCHAR(50) Nullable
COLOR                           VARCHAR(100) Nullable
FIL_COLOR                       VARCHAR(50) Nullable
COLOR_TYPE                      VARCHAR(50) Nullable
COLOR_LAK                       VARCHAR(50) Nullable
COLOR_PATINA                    VARCHAR(100) Nullable
ORDER_GENERALSQ                 FLOAT Nullable
ORDER_FASADSQ                   FLOAT Nullable
GLASS                           VARCHAR(50) Nullable
PRIMECH                         VARCHAR(300) Nullable
ORDER_COST_PRICECOLUMN          SMALLINT Nullable
ORDER_COST                      INTEGER Nullable
ORDER_PAY                       INTEGER Nullable
ORDER_TOTAL_COST                INTEGER Nullable
ORDER_DISCOUNT                  INTEGER Nullable
ORDER_COST_PACK                 INTEGER Nullable
ORDER_COST_GLASS                INTEGER Nullable
FACT_DATE_RECEIVE               VARCHAR(20) Nullable
FACT_DATE_FIRSTSAVE             VARCHAR(20) Nullable
FACT_DATE_LASTSAVE              VARCHAR(20) Nullable
FACT_DATE_CALCCOST              VARCHAR(20) Nullable
FACT_DATE_EXPORT_ITM            VARCHAR(20) Nullable
PLAN_DATE_FIRSTSTAGE            VARCHAR(20) CHARACTER SET NONE Nullable
PLAN_DATE_PACK                  VARCHAR(20) CHARACTER SET NONE Nullable
FACT_DATE_PACK                  VARCHAR(20) CHARACTER SET NONE Nullable
FACT_DATE_ORDER_OUT             VARCHAR(20) CHARACTER SET NONE Nullable
ORDER_STATUS                    FLOAT Nullable
FACT_DATE_ORDER_CANCEL          VARCHAR(20) Nullable
REASON_ORDER_CANCEL             VARCHAR(300) Nullable
USER_ORDER_CANCELED             VARCHAR(20) Nullable
ORDER_TYPE                      VARCHAR(20) Nullable
TEXTURE_COMMENT                 VARCHAR(50) Nullable
COLOR_LAK_COMMENT               VARCHAR(50) Nullable
COLOR_PATINA_COMMENT            VARCHAR(101) Nullable
PRISAD                          VARCHAR(20) Nullable
CONSTRAINT FK_ORDERS_1:
  Foreign key (ORDER_STATUS)    References LIST_STATUSES (STATUS_NUM)
CONSTRAINT PK_ORDERS:
  Primary key (ID)
CONSTRAINT UNQ1_ORDERS:
  Unique key (ITM_ORDERNUM)

Triggers on Table ORDERS:
ORDERS_BI, Sequence: 0, Type: BEFORE INSERT, Active
SQL>
15 авг 19, 15:31    [21950218]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
PATRI0T
Member

Откуда: Майкоп
Сообщений: 107
Ого..
как такто?? Я ж менял..
SQL> 
FACT_DATE_EXPORT_ITM            VARCHAR(20) Nullable
SQL>
15 авг 19, 15:32    [21950222]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
hvlad
Member

Откуда:
Сообщений: 10531
Покажи ещё это
SELECT 
    RF.RDB$FIELD_ID,
    F.RDB$FIELD_NAME,
    F.RDB$FIELD_LENGTH,
    F.RDB$FIELD_SCALE,
    F.RDB$FIELD_TYPE,
    F.RDB$FIELD_SUB_TYPE,
    F.RDB$COLLATION_ID,
    F.RDB$CHARACTER_SET_ID,
    F.RDB$FIELD_PRECISION
FROM RDB$FIELDS F
   JOIN RDB$RELATION_FIELDS RF ON F.RDB$FIELD_NAME = RF.RDB$FIELD_SOURCE
 WHERE RF.RDB$RELATION_NAME = 'ORDERS' 
   AND RF.RDB$FIELD_NAME = 'FACT_DATE_EXPORT_ITM'


PS Напомните кто-нибудь - что IBE меняет в системных таблицах при несанкционированной смене типа поля ?
Только одну запись в RDB$FIELDS или что-то ещё ?
15 авг 19, 15:39    [21950237]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
hvlad
Member

Откуда:
Сообщений: 10531
PATRI0T
Ого..
как такто?? Я ж менял..
SQL> 
FACT_DATE_EXPORT_ITM            VARCHAR(20) Nullable
SQL>
В rdb$formats нет следов от того, что ты менял.

БД точно та ? :)
15 авг 19, 15:40    [21950239]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
PATRI0T
Member

Откуда: Майкоп
Сообщений: 107
hvlad, (((( ты прав.. по умолчанию isql открыл резервную..
все по новой.. Жесть. Простите ребят..

Вот правильные данные
https://pastebin.com/ULQ49wne
15 авг 19, 15:52    [21950251]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
hvlad
Member

Откуда:
Сообщений: 10531
Сделай копию поломанной БД.

На этой копии сделай

update RDB$FIELDS
   set RDB$FIELD_LENGTH = 20, RDB$FIELD_TYPE = 37, RDB$CHARACTER_SET_ID = 52
 where RDB$FIELD_NAME = 'RDB$262';

commit;

select o.fact_date_export_itm
  from orders o
 where o.id =7435;
15 авг 19, 16:22    [21950284]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30321

15.08.2019 16:22, hvlad пишет:
> сделай
> update RDB$FIELDS...

а кто запретил это же на 3-ке ?!

Posted via ActualForum NNTP Server 1.5

15 авг 19, 16:34    [21950298]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
hvlad
Member

Откуда:
Сообщений: 10531
Мимопроходящий,

а при чём тут 3-ка ?
15 авг 19, 16:46    [21950310]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30321

15.08.2019 16:46, hvlad пишет:
> а при чём тут 3-ка ?

при том, что запретили.

Posted via ActualForum NNTP Server 1.5

15 авг 19, 16:50    [21950321]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
PATRI0T
Member

Откуда: Майкоп
Сообщений: 107
Нервы не выдержали и я вычистил этот заказ подчистую, вместе со всеми зависимостями.
Сейчас собираю скрипт, выковыривая данные из бэкапа, чтоб вернуть на место..

Спасибо всем огромное..
15 авг 19, 16:58    [21950331]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9830
Мимопроходящий,

вот и хорошо что запретили чтобы такого как у ТС не случалось
15 авг 19, 17:00    [21950334]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
hvlad
Member

Откуда:
Сообщений: 10531
Мимопроходящий
15.08.2019 16:46, hvlad пишет:
> а при чём тут 3-ка ?

при том, что запретили.
И ? В огороде - бузина ?
15 авг 19, 17:14    [21950352]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
KreatorXXI
Member

Откуда: Москва
Сообщений: 783
Симонов Денис
Мимопроходящий,

вот и хорошо что запретили чтобы такого как у ТС не случалось


+100500. И ещё неплохо бы изменения в метаданных сначала проводить на копии.
15 авг 19, 17:14    [21950353]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30321

15.08.2019 17:14, hvlad пишет:
> И ? В огороде - бузина ?

синдром вахтёра косил ряды...

Posted via ActualForum NNTP Server 1.5

15 авг 19, 17:20    [21950361]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
Arioch
Member

Откуда:
Сообщений: 10967
Симонов Денис
вот и хорошо что запретили чтобы такого как у ТС не случалось


так у ТСа как раз alter table, а не update rdb$xxxx 21950143
16 авг 19, 16:22    [21951197]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
Arioch
Member

Откуда:
Сообщений: 10967
PATRI0T
V6.3.1.2635


2.5.1 - это ж как раз та знаменитая версия, где с индексами накосячили

неужели с тех пор поменять нельзя было ?
16 авг 19, 16:24    [21951200]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
hvlad
Member

Откуда:
Сообщений: 10531
Arioch
Симонов Денис
вот и хорошо что запретили чтобы такого как у ТС не случалось


так у ТСа как раз alter table, а не update rdb$xxxx 21950143
Иди читай топик с начала.
16 авг 19, 16:37    [21951218]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
Arioch
Member

Откуда:
Сообщений: 10967
hvlad,

с начала и читал, ты - первый, кто полез в системные таблицы, в 16:22
16 авг 19, 16:48    [21951238]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9830
Arioch,

а до топика туда уже слазили, скорее всего старым экспертом.
16 авг 19, 16:57    [21951257]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
Arioch
Member

Откуда:
Сообщений: 10967
Симонов Денис,

а вот это твои домыслы, которые могут совпадать с реальность, а могут не совпадать.
ты этого не спрашивал, тебе это не интересно.
но приговор ты уже прочитал, встав в картинную позу 21950334
16 авг 19, 17:32    [21951308]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9830
Arioch,

автор
Есть таблица и в ней поле Varchar(20). Туда писал дату-время, но строкой (аля timestamp).
Потом понял, что ошибся, попробовал изменить тип поля поле на timestamp - получилось (через ibexpert)


create table mytable (s varchar (20));


всё OK

alter table mytable  alter s type timestamp;

ALTER TABLE MYTABLE failed.
Cannot change datatype for column S from a character type to a non-character type.

Вывод. Стандартными средствами сменить varchar (20) на timestamp нельзя.
Значит это делалось через ковыряние в системных таблицах. Эксперт раньше такое позволял.
16 авг 19, 17:40    [21951316]     Ответить | Цитировать Сообщить модератору
 Re: Спасти базу, преобразование даты varchar-timestamp  [new]
hvlad
Member

Откуда:
Сообщений: 10531
Arioch
hvlad,

с начала и читал, ты - первый, кто полез в системные таблицы, в 16:22
Первое сообщение третья строка

PS Как же ты надоел...
16 авг 19, 17:47    [21951322]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Firebird, InterBase Ответить