1. Problem z wartoscią pola. 2. Eksport do WWW

Użytkowanie programu bazodanowego
panbaryla
Posty: 50
Rejestracja: pt sty 14, 2011 11:29 am

1. Problem z wartoscią pola. 2. Eksport do WWW

Post autor: panbaryla »

Witam i pytam :)

Rozpocząłem prace z następującą bazą obsługującą serwisy urządzeń.

Wyskrobałem sobie 4 tabele

Klient
Maszyna
Maszyna_Awaria
Maszyna_Serwis (planowane serwisy, wykonane ect)

Relacja: Klient ma N Maszyn. Maszyna ma N Awarii i N Serwisów

I mam 2 pytania.

1. Tabela Maszyna jak klucz główny ma ustawiony na pole numer_seryjny, typ pola integer bez wartości automatycznej. W tej samej tabeli jest pole maszyna_id, typ pola integer ale wartość chce ustawić też na automat a nie mogę bo otrzymuje komunikat błędu
Stan SQL: s0021
Kod błędu: -58

Column constraints are not acceptable in statement [ALTER TABLE "maszynalast" ADD "maszyna_id" INTEGER IDENTITY]
2. Chciałbym dane klienta eksportować do do bazy SQL i wrzucać na stronę aby mógł sobie przeglądać zdażenia które dotyczą wszystkich przypisanych mu maszyn. Jak ugryźć taki temat?

Z góry dziękuję za najdrobniejsze nawet podpowiedzi.
Załączniki
Nowa Baza Danych1.odb
(5.21 KiB) Pobrany 126 razy
Libre Office, wersja: 7.3.5.2
Debian GNU/Linux 64 bit
Jan_J
Posty: 4558
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: 1. Problem z wartoscią pola. 2. Eksport do WWW

Post autor: Jan_J »

Zależy dla jakiej bazy piszesz polecenie. W HSQLDB

Kod: Zaznacz cały

alter table moja add column nowa integer;
alter table moja alter column nowa identity;
Więcej: http://www.hsqldb.org/doc/1.8/guide/, ale nie wszystkie konstrukcje składniowe z dokumentacji zdają się działać w OOoBase.

Co do bazy SQL: czy ma być osobna (jakby trochę głupio), czy ta sama na której pracujemy (lepiej). Musiała by współpracować z Base przez JDBC. Firebird, MySQL, Postgres, ... Do małego jednoosobowego projektu wystarczy SQLite: mała, szybka, plikowa, obywa się bez serwera -- wystarcza sterownik.

Ale z obsługą SQLite pod Base przez JDBC nie jest dobrze. W http://wiki.services.openoffice.org/wik ... Office.org opisana jest współpraca przez ODBC. Nie próbowałem.

Do zrobienia przeglądu tabeli czy perspektywy przez WWW dobry będzie krótki skrypt w PHP albo Pythonie. Wszystkie wymienione wyżej bazy mają odpowiednie sterowniki dla każdego z tych języków. W przypadku SQLite wrzucam zaktualizowaną bazę na serwer WWW i gotowe.

W Twojej sytuacji najlepsza byłaby perspektywa, która na podstawie nazwy użytkownika filtrowałaby listę sprzętu. Tylko wcześniej trzeba uwierzytelniać dostęp, żeby nie widział za dużo. W przypadku dostępu przez WWW oznacza to obsługę sesji, a nazwę użytkownika można wziąć z loginu.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
panbaryla
Posty: 50
Rejestracja: pt sty 14, 2011 11:29 am

Re: 1. Problem z wartoscią pola. 2. Eksport do WWW

Post autor: panbaryla »

...dzięki za odpowiedź :)

A jakiego pakietu używasz do HSQLDB? Znalazłem jakieś HSQLDB-utils w synapticu ale wyglądają drętwo... :)
Libre Office, wersja: 7.3.5.2
Debian GNU/Linux 64 bit
Jan_J
Posty: 4558
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: 1. Problem z wartoscią pola. 2. Eksport do WWW

Post autor: Jan_J »

Nie używam. HSQL jest dobra dla systemów wbudowanych, i ma dość ubogi dialekt SQL. Spróbuj operacji na datach, to zobaczysz. Napisana w Javie, dobry dostęp jest przez JDBC albo w OpenOffice.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
panbaryla
Posty: 50
Rejestracja: pt sty 14, 2011 11:29 am

Re: 1. Problem z wartoscią pola. 2. Eksport do WWW

Post autor: panbaryla »

...jestem zielony. Jak ma ten kod wykonac?
Pzdr
Libre Office, wersja: 7.3.5.2
Debian GNU/Linux 64 bit
panbaryla
Posty: 50
Rejestracja: pt sty 14, 2011 11:29 am

Re: 1. Problem z wartoscią pola. 2. Eksport do WWW

Post autor: panbaryla »

Zapytam inaczej. Jaki typ pola ustawić w tabeli klient aby nip w formacie 000-000-00-00 mógł być klient_id z kluczem głównym a jaki w tabeli maszyna aby numer seryjny w formacie 000000 mógł być maszyna_id z kluczem głównym?
Libre Office, wersja: 7.3.5.2
Debian GNU/Linux 64 bit
panbaryla
Posty: 50
Rejestracja: pt sty 14, 2011 11:29 am

Re: 1. Problem z wartoscią pola. 2. Eksport do WWW

Post autor: panbaryla »

Odpowiem sobie sam :) Tekst (stały) [CHAR]
Libre Office, wersja: 7.3.5.2
Debian GNU/Linux 64 bit
ODPOWIEDZ