Datenbankfehler bei Artikel-Schreibzugriffen

Fragen zur Installation von ConPresso 4 werden in diesem Forum diskutiert.
Ebenezer
ConPresso-Newbie
Beiträge: 21
Registriert: 06.05.2007 22:04
Hat sich bedankt: 1 Mal

Datenbankfehler bei Artikel-Schreibzugriffen

Beitrag von Ebenezer »

Hi,

ich hatte hier:

http://community.conpresso.de/viewtopic ... 50fc#20737

ja schon über meine Versuche geschrieben, Conpresso auf MySQL5 aufzusetzen. Unglücklicherweise scheint mein Problem doch noch nicht komplett gelöst. Zwar funktionieren jetzt die Rubriken einwandfrei, jeder Versuch Artikel zu erstellen oder zu bearbeiten endet aber in einem Datenbankfehler.

Erstellen:

Code: Alles auswählen

Database error:
Invalid SQL: INSERT INTO cpo4_news (nr, artikel_archiv, article_nr, auth, keywords, commentary, rubric_id, templates_id, titel, datum, verfallsdatum, pub_datum, autor, email, initial, idx, freigabe, released_user_id, release_date, last_modify, c_time, changer, sort_id) VALUES ('', '0', '', '', '', '', '1', '1', 'Test', '2007-06-20 06:43:57', '2036-01-01 00:00:00', '2007-06-20 06:43:00', 'Administrator', 'emle-webct@uni-hamburg.de', 'adm', 'zzzzzz', '0', '1', '2007-06-20 06:44:35', '2007-06-20 06:44:35', '2007-06-20 06:44:35', 'admin', '') 
Out of range value adjusted for column 'nr' at row 1 (1264)
Ändern:

Code: Alles auswählen

Database error:
Invalid SQL: INSERT INTO cpo4_block VALUES ('', '1', '2007-06-20 06:45:30', '5') 
Out of range value adjusted for column 'id' at row 1 (1264)
Es wäre nett, wenn Ihr noch mal draufschauen und einem Datenbanklaien einen Tritt in die richtige Richtung geben könntet. Bin ja schon gespannt, was ich diesmal verpennt habe :oops:

Danke! Felix
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7115
Registriert: 01.01.1970 02:00
Hat sich bedankt: 102 Mal
Danksagung erhalten: 916 Mal

Beitrag von MarkusR »

Das war leider zu erwarten.

Im Grunde wirst Du mit dieser Datenbank erst froh werden, wenn Dein Provider den Strict-Modus der Datenbank abschaltet.

Dein Problem ist nämlich, daß in den Tabellen Standardwerte definiert sind für den Fall, daß keine Eingabe in einer Spalte erfolgt.
Das ist bei allen Datenbanksystemen üblich.

Leider sagt Dein Server jetzt, daß, obwohl er den Standardwert kennt, eine Eingabe erforderlich ist.

Das findet, wie Du jetzt merkst, an ca. 327.000 Stellen innerhalb von Conpresso in dieser Form statt (weil ja auch bei einer "handelsüblichen" Datenbank nichts dagegenspricht) und wird praktisch nicht geändert werden können.

Ich weiß ja nicht was Du Deinem Provider zahlst, aber wenn das teurer ist als die Zeit, die wir hier drüber diskutieren, dann hast Du das Recht eine Änderung zu verlangen.
Wenn Du weniger dafür bezahlst, dann such Dir einen anderen Provider, weil für 2 Euro im Monat findest Du genügend Angebote, bei denen das Problem nicht existiert, weil die Pakete so geschnürt werden, daß "übliche" Software auch drauf laufen kann...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Ebenezer
ConPresso-Newbie
Beiträge: 21
Registriert: 06.05.2007 22:04
Hat sich bedankt: 1 Mal

Beitrag von Ebenezer »

MarkusR hat geschrieben:Ich weiß ja nicht was Du Deinem Provider zahlst, aber wenn das teurer ist als die Zeit, die wir hier drüber diskutieren, dann hast Du das Recht eine Änderung zu verlangen.
Wenn Du weniger dafür bezahlst, dann such Dir einen anderen Provider, weil für 2 Euro im Monat findest Du genügend Angebote, bei denen das Problem nicht existiert, weil die Pakete so geschnürt werden, daß "übliche" Software auch drauf laufen kann...
Im Prinzip eine gute Idee. Leider bin ich wohl an diesen Provider gefesselt. Einerseits hat ihn ein Gremium :roll: gerade wegen seiner "hohen Sicherheitsstandards" als Provider der Wahl designiert.

Andererseits läuft derzeit die Überweisung der Gebühren über eine Partneruni in den Niederlanden. Bis da eine Änderung diskutiert und verabschiedet ist bin ich wahrscheinlich in Rente :lol:

Ich glaube der einfachste Weg wird sein, den dortigen Webspace zu nutzen und einfach die Datenbank über unsere Institutsdatenbank laufen zu lassen. Dank Präfixen ist eine solche Doppelnutzung ja zum Glück kein Problem. Ist zwar unelegant, und es wurmt mich für einen Server zu zahlen der effektiv Nutzlos ist - aber bevor gar nichts läuft ...

Ich muss auch gestehen es war zum Teil Sportsgeist, der mich weitergetrieben hat. Ich hasse es vor technischen Problemen zu kapitulieren. Und ausserdem ist der Lerneffekt bei solchen Horrorprojekten auch nicht zu verachten :wink:

Danke an alle, die mir mit Rat und Tat (Code) zu Hilfe geeilt sind. Ich geh' dann mal nach einem Workaround suchen ... :?

Felix
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 02:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Beitrag von balu »

Ich finde es schon seltsam dass ein Provider, der für seine "hohen Sicherheitsstandards" gelobt wird, das error_reporting in PHP nicht ausschaltet, sondern im Gegenteil so geschwätzig wie möglich macht.

Das Gremium war bestimmt ein sehr erfahrenes im Serverbereich?

Balu
Bartels.Schöne
ConPresso Support & Development
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 02:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Also ich hatte auch irgendwann einmal einen sehr geschwätzigen Server, der mir laufend Warnungen schickte.

Mir hat folgende Anweisung in meinem php-Skript (in meinem Fall eine selbst erstellte Seminaranmeldung) geholfen - ich weiß allerdings nicht, ob es in diesem Fall etwas hilft:

Code: Alles auswählen

...
ini_set("error_reporting", 7);  // 7 ist ein Bitmuster; 8 heißt "enable notice"
...
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7115
Registriert: 01.01.1970 02:00
Hat sich bedankt: 102 Mal
Danksagung erhalten: 916 Mal

Beitrag von MarkusR »

Alles ganz schön und interessant.

Mich würde aber dennoch interessieren, warum es (auf diesem System) als Invalid SQL gewertet wird, wenn ein Feld der Datenbank für den Fall fehlender Eingaben einen Standardwert hat, im Falle fehlender Eingaben dann aber ein "out of range" ausgibt...?
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 02:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Beitrag von balu »

Hi Markus,

neue MySQLs arbeiten sehr strikt nach den Standards, wenn sie nicht etwas offener konfiguriert werden.

Das ist ungefaehr so wie das Error-Reporting in PHP auf volle Pulle zu stellen und soll der "Sicherheit" dienen.

Balu
Bartels.Schöne
ConPresso Support & Development
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7115
Registriert: 01.01.1970 02:00
Hat sich bedankt: 102 Mal
Danksagung erhalten: 916 Mal

Beitrag von MarkusR »

Aber dann müßte der Server die Einstellung eines Standardwertes schon bei der Tabellenerstellung ablehnen, wenn er gar nicht bereit ist diesen nachher auch zu vergeben...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle