PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datenbankfehler beim installieren der XML


Amazing
17.11.2009, 19:57
Nachdem ich das letzte Releas komplett auf den Server geladen habe, und dann die XML einbinden wollte ( product addon ),

kam folgender Fehler BEI der installation:


Invalid SQL:
ALTER TABLE usergroup
ADD groupvbglossar INT(10) UNSIGNED DEFAULT '0' NOT NULL;

MySQL-Fehler : Duplicate column name 'groupvbglossar'
Fehler-Nr. : 1060
Fehler-Zeit : Tuesday, 17.11.2009 @ 19:33:53
Datum : Tuesday, 17.11.2009 @ 19:33:53
Skript : http://teamtestvb.golf3.de/admincp/p...=productimport (http://teamtestvb.golf3.de/admincp/plugin.php?do=productimport)
Referrer : http://teamtestvb.golf3.de/admincp/p...?do=productadd (http://teamtestvb.golf3.de/admincp/plugin.php?do=productadd)
IP-Adresse : ..........
Benutzername : .........
Klassenname : vB_Database
MySQL-Version : 5.0.51a-24+lenny1 vB 3.8.3
genutzte Lexikon Version: 1.1.1

Was hab ich falsch gemacht?

EDIT: Habe grade gesehen, das es an einer vorigen Version liegen könnte? Ich testforum installier ich das erste mal das Lexikon! Deinstall einer alten Version o.ä. ist somit nicht möglich!

Würde es gehen, wenn ich dieses Punkt ( s.o. ) händisch aus der XML lösche ?

MfG


PS: fügt ihr noch bei "betroffene Version" die 1.1.1 hinzu? Also bitte nicht auf die auswahl achten ;)

=======================

EDIT 2:

Ich habe nun mal in der XML folgenden Bereich einfach ausgeschnitten:


echo('<li>Ändere Tabelle/change table <strong>usergroup</strong> ...');
vbflush();
$db->query_write("ALTER TABLE " . TABLE_PREFIX . "usergroup
ADD groupvbglossar INT(10) UNSIGNED DEFAULT '0' NOT NULL
");
echo('Erledigt/done!</li>');
vbflush();

Import der Datei verlief ohne Fehler und ich kann es nun auch im ACP einstellen ( vorher keine Anzeige der Menus )

Kann ich so arbeiten?

MrD
18.11.2009, 20:04
Hi,

Duplicate column name 'groupvbglossar'
Sicher das du auf die Richtige DB zugreifst und nicht auf dein Produktivforum?

Du hättest einfach nur in der DB die entsprechenden Einträge /tabellen löschen können.
Und dann neu installieren.

Amazing
18.11.2009, 23:09
Ich bin mir da eigentlich ganz sicher, da in keinem Forum bislang das Lexikon installiert wurde!

Ich erkläre mir das nur so:

Ich habe die Daten hochgeladen, dann die XML! Hab jedoch vorab vergessen, den 3 ordnern von vbglossar ( Backup etc ) die Rechte 777 zu geben. Da brach die install der XML ab. Ich habe den Fehler behoben und die Datei nochmals installiert, wobei der o.g. Fehler auftrat!

Evt mag da schon beim ersten install die DB geändert worden sein! Ich konnte jedoch die XML nicht deinstallieren, da sie beim ersten nicht richtig installiert wurde und eben nicht angezeigt wurde in der AddOn Liste.

Ich habe ja den Bereich, wie oben beschrieben, aus der ProduktDatei gelöscht und dann installiert. Das klappte dann auch so und ich kann arbeiten. Das Lexikon funktioniert!

sweetgirl
19.11.2009, 12:14
ich hab ja das selbe problem und wenn ich es so mache wie amazing schreibt kommt folgende meldung:


Warnung: require_once([path]/includes/adminfunctions_vbglossar.php) [function.require-once]: failed to open stream: No such file or directory in [path]/admincp/plugin.php(1995) : eval()'d code (Zeile 22)

Fatal error: require_once() [function.require]: Failed opening required '/mnt/web4/32/64/52203264/htdocs/includes/adminfunctions_vbglossar.php' (include_path='.:/opt/RZphp5/includes') in /mnt/web4/32/64/52203264/htdocs/admincp/plugin.php(1995) : eval()'d code on line 22

ragtek
19.11.2009, 12:15
Anscheinend hast du die Dateien nicht hochgeladen;)

So wie es in der Anleitung steht =>
1. Dateien hochladen
2. Installieren

sweetgirl
19.11.2009, 12:17
mhhhh eigentlich schon*gg*soo blond bin ich dann doch nicht;)
aber ich tus nochmal*gg*

ragtek
19.11.2009, 13:49
Das Problem an dem ganzen ist, dass es bei folgendem PunktPHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
---------- keinen Check gibt, ob es die Spalte eventuell schon gibt.

kA wieso (Fehlerhafte de/installation), auf jeden Fall existierte die Spalte bei einigen

@Entwickler=> könnte man da nicht eventuell einen Check einbaun, der zuerst prüft ob es die Spalte gibt, falls nicht =>alter table... oder diese zuerst löschen (so wie man es mit den tabellen macht:
PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

ragtek
20.11.2009, 08:31
BZW um es hier festzuhalten:
Man kann ja auch auf die vB_Database_Alter_MySQL Klassen zurückgreifen.
Die prüft ja, soweit ich mich erinner, die Tabelle zuerst

Vossi
20.11.2009, 08:39
Vielleicht einmal dieses probieren... In der Produktdatei folgende Zeilen suchen:
PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
und diese durch
PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
ersetzen.

Geht's dann?

Amazing
20.11.2009, 13:22
Vossi:

Ich werde es mal probieren und Feedback geben!

Danke für eure Mühe!

Vossi
20.11.2009, 19:45
Und?

Amazing
21.11.2009, 12:23
Habs geändert und installiert!

KEINE Fehlermeldung! Lexikon funktioniert weiterhin =)

Danke!

Vossi
21.11.2009, 19:51
Cool, danke für das Feedback!

sammy1
21.11.2009, 20:46
Hi Leute,

nun wollte ich auch mein Lexikon aktualisieren (bisherige Version 1.0.3)

Ich erhalte ziemlich gleichlautende DB-Fehlermeldungen mit verschiedenen Tabellen.

hier ein Beispiel:


Datenbankfehler in vBulletin 3.8.4:

Invalid SQL:
ALTER TABLE vbvbglossar_entry
ADD threadid int(10) NOT NULL DEFAULT '0';

MySQL-Fehler : Duplicate column name 'threadid'
Fehler-Nr. : 1060
Fehler-Zeit : Saturday, 21.11.2009 @ 17:19:41
Datum : Saturday, 21.11.2009 @ 17:19:42
Skript : http://www......de/plugin.php?do=productimport
Referrer : http://www......de/plugin.php?do=productadd
IP-Adresse : ......
Benutzername : ....
Klassenname : vB_Database
MySQL-Version : 5.0.67-1~ui40+2Ein vorheriges Leeren der Tabellen hat nichts gebracht, genauso wenig das Löschen derselben.
Sobald die Tabellen geändert werden sollen, bricht die Installation ab.

Das Merkwürdige ist auch, dass das Lexikon ja schon mal installiert wurde und selbst eine neue Installation der bisherigen Version bricht nun mit diesen Fehlern ab.
Bei der damaligen Erstinstallation, gab es diese Probleme nicht.

Muss ich nun die Änderungen in der XML für jede einzelne Tabelle durchführen, damit ich mein Lexikon upgraden kann, oder gibt es da inzwischen eine andere Methode?

Danke für einen Tip.

Vossi
22.11.2009, 08:53
Versuche bitte mal folgendes und suche (in der Datei 'product-vbglossar.xml):
PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
und ersetze dieses durch:
PHP:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------
Sag mal bitte bescheid, ob's dann geht. Möglicherweise meldet die Installation dann einen Fehler mit der Spalte 'crosslink' in der Tabelle 'user'... Sag mal bescheid, OK?

sammy1
22.11.2009, 11:45
Hi Vossi,

Fehler beseitigt!
Upgrade ohne Probleme durchgelaufen.

Danke für deine Mühe.


Gruß sammy1


Nachtrag:

Ein kleines Problem hab ich dann doch noch.
In zwei aufeinander folgenden Beiträgen im selben Thema werden in einem Beitrag die Vorschau PopUps korrekt angezeigt und im nächsten erscheint nur ein "(...)" bei dem gleichen Eintrag!
Der Crosslink selbst funktioniert aber.

Datastore neu generieren und neu Erstellen der Vorschau PopUps in den Wartungsoptionen hat nichts gebracht.
Vielleicht hast du auch hier eine Lösung parat?

sammy1
22.11.2009, 12:10
Hi Vossi,

Kommando zurück!!

Heut geht es Schlag auf Schlag. ;-)
Ich hab noch im ACP in den Wartungsoptionen den Beitragscache neu erstellen lassen und nun funktioniert alles wieder.
Alle Crosslinks und Vorschau-PopUps werden korrekt angezeigt.

Sorry für die Aufregung.

Gruß sammy1

Vossi
22.11.2009, 12:59
No prob...