ponieważ moja baza musi mieć bardziej rozbudowaną obsługę dat tym samym postanowiłem przenieść się na postgresql. I od razu schodek, zwykłe przeniesienie tabel sposobem drag n drop lub copy and paste

Pozdrawiam
Kod: Zaznacz cały
SCRIPT 'plik.sql'
O sterownik. Używasz zapewne jdbc.panbaryla pisze:O co biega?
"nie da" się czyli nie można dodać kolejnych rekordów ani edytować już istniejących, wygląda tak jak by były "zablokowane"...Jan_J pisze:Sprawdzałem na LO 3.5 i 3.6. Mam instalacje OOo 3.3, ale nie doposażałem jej w sterownik sdbc dla Postgresa.
Co to znaczy, że się “nie da” wpisać danych do tabeli? jakieś komunikaty? nie umiem odtworzyć błędu, więc pozostaje zgadywanie. Zajrzyj też do logów Postgresa; może coś wyjaśnią?
2013-01-03 11:49:07 CET LOG database system was shut down at 2013-01-03 09:40:55 CET
2013-01-03 11:49:07 CET LOG database system is ready to accept connections
2013-01-03 11:49:07 CET LOG autovacuum launcher started
2013-01-03 12:15:20 CET ERROR null value in column "NumerSeryjny" violates not-null constraint
2013-01-03 12:15:20 CET DETAIL Failing row contains (21, null, null, null, null).
2013-01-03 12:15:20 CET STATEMENT INSERT INTO "public"."Awaria" ( "id_awaria") VALUES ( $1)
2013-01-03 12:19:04 CET ERROR null value in column "NumerSeryjny" violates not-null constraint
2013-01-03 12:19:04 CET DETAIL Failing row contains (21, test, null, null, null).
2013-01-03 12:19:04 CET STATEMENT INSERT INTO public."Awaria"(id_awaria, typ_awarii) VALUES ('21'::integer, 'test'::text)
2013-01-03 12:21:32 CET ERROR syntax error at or near ":" at character 72
2013-01-03 12:21:32 CET STATEMENT SELECT * FROM "public"."maszyna" WHERE ( 0 = 1 ) AND ( ( "klient_id" = :link_from_id ) )
2013-01-03 12:21:37 CET ERROR syntax error at or near ":" at character 72
2013-01-03 12:21:37 CET STATEMENT SELECT * FROM "public"."maszyna" WHERE ( 0 = 1 ) AND ( ( "klient_id" = :link_from_id ) )
2013-01-03 12:21:38 CET ERROR syntax error at or near ":" at character 72
2013-01-03 12:21:38 CET STATEMENT SELECT * FROM "public"."maszyna" WHERE ( 0 = 1 ) AND ( ( "klient_id" = :link_from_id ) )
2013-01-03 12:21:39 CET ERROR syntax error at or near ":" at character 72
2013-01-03 12:21:39 CET STATEMENT SELECT * FROM "public"."maszyna" WHERE ( 0 = 1 ) AND ( ( "klient_id" = :link_from_id ) )
2013-01-03 12:21:39 CET ERROR syntax error at or near ":" at character 72
2013-01-03 12:21:39 CET STATEMENT SELECT * FROM "public"."maszyna" WHERE ( 0 = 1 ) AND ( ( "klient_id" = :link_from_id ) )
2013-01-03 12:22:17 CET ERROR syntax error at or near ":" at character 72
2013-01-03 12:22:17 CET STATEMENT SELECT * FROM "public"."maszyna" WHERE ( 0 = 1 ) AND ( ( "klient_id" = :link_from_id ) )
Właśnie że one wyjaśnią najwięcej...panbaryla pisze: "nie da" się czyli nie można dodać kolejnych rekordów ani edytować już istniejących, wygląda tak jak by były "zablokowane"...
...poniżej logi z Postgresa ale one raczej nic nie wyjasniają...
Kod: Zaznacz cały
DROP TABLE SERWIS;
DROP TABLE AWARIA;
DROP TABLE MASZYNA;
DROP TABLE KLIENT;
DROP SEQUENCE SEQ_KLIENT;
DROP SEQUENCE SEQ_MASZYNA;
DROP SEQUENCE SEQ_SERWIS;
DROP SEQUENCE SEQ_AWARIA;
CREATE SEQUENCE SEQ_KLIENT START 1 INCREMENT 1;
CREATE SEQUENCE SEQ_MASZYNA START 1 INCREMENT 1;
CREATE SEQUENCE SEQ_SERWIS START 1 INCREMENT 1;
CREATE SEQUENCE SEQ_AWARIA START 1 INCREMENT 1;
CREATE TABLE KLIENT(
ID integer not null default nextval('SEQ_KLIENT') primary key,
NIP char(10) not null,
NAZWA character varying(500),
TYP_ADRESU character varying(50),
ULICA character varying(50),
KOD_POCZTOWY character varying(50),
MIASTO character varying(50),
NUMER character varying(50),
OPIS character varying(10485760)
);
CREATE TABLE MASZYNA(
ID integer not null default nextval('SEQ_MASZYNA') primary key,
KLIENT_ID integer references KLIENT(ID),
NUMER_SERYJNY char(10) not null,
NIP char(10) not null,
TYP_ADRES_MASZYNA character varying(50),
ULICA character varying(50),
KOD_POCZTOWY character varying(50),
MIASTO character varying(50),
NUMER character varying(50),
OPIS character varying(10485760),
TYP_MASZYNY character varying(50),
DATA_MONTAZU DATE,
DATA_DEMONTAZU DATE
);
CREATE TABLE SERWIS(
ID integer not null default nextval('SEQ_SERWIS') primary key,
MASZYNA_ID integer references MASZYNA(ID),
DATA_SERWISU DATE,
NUMER_SERYJNY CHAR(6) NOT NULL,
DATA_PLANOWANEGO DATE,
CZYNNOSCI_SERWISOWE character varying(150),
STATUS_MASZYNY character varying(50),
DATA_PRZEGLADU DATE,
DATA_PLANOWANEGO_PRZEGLAD DATE,
CZYNNOSCI_PRZEGLAD character varying(50)
);
CREATE TABLE AWARIA(
ID integer not null default nextval('SEQ_AWARIA') primary key,
MASZYNA_ID integer references MASZYNA(ID),
TYP_AWARII VARCHAR(50),
DATA_ZGLOSZENIA DATE,
NUMER_SERYJNY CHAR(6) NOT NULL
);
INSERT INTO KLIENT(NIP,NAZWA,TYP_ADRESU,ULICA,KOD_POCZTOWY,MIASTO,NUMER,OPIS) VALUES('xxxx','xxxxxxxxxxxxxx.','Ul.','Domaniewska','02-672','Warszawa','xx',NULL);
INSERT INTO MASZYNA(NUMER_SERYJNY,NIP,TYP_ADRES_MASZYNA,ULICA,KOD_POCZTOWY,MIASTO,NUMER,OPIS,TYP_MASZYNY,DATA_MONTAZU,DATA_DEMONTAZU) VALUES('xxxxxxx','xxxxxxxxx8','Ul.','Wspólna','00-519','Warszawa','25','IIIp','xxxxxxxxx','2011-05-05',NULL);
INSERT INTO AWARIA(TYP_AWARII,DATA_ZGLOSZENIA,NUMER_SERYJNY) VALUES('xxxxxxxxxxxxxxxe','2012-05-30','007760');
update Maszyna m2 set klient_id = (
select k.id from maszyna m, klient k
where m.nip = k.nip and m.id = m2.id
);
update SERWIS s2 set maszyna_id = (
select m.id from SERWIS s, maszyna m
where s.numer_seryjny = m.numer_seryjny and s.id = s2.id
);
update Awaria a2 set maszyna_id = (
select m.id from awaria a, maszyna m
where a.numer_seryjny = m.numer_seryjny and a.id = a2.id
);
ALTER TABLE Maszyna DROP COLUMN nip;
ALTER TABLE Serwis DROP COLUMN numer_seryjny;
ALTER TABLE Awaria DROP COLUMN numer_seryjny;
ALTER TABLE Maszyna ALTER COLUMN klient_id SET NOT NULL;
ALTER TABLE Serwis ALTER COLUMN maszyna_id SET NOT NULL;
ALTER TABLE Awaria ALTER COLUMN maszyna_id SET NOT NULL;
Co racja to racjaJan_J pisze:Trudno o lepszą bazę w świecie foss.