PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datenbankfehler im AdminCP Home


Pathor
17.06.2006, 22:02
Habe gerade lokal ein Update von 3.5.4 auf 3.6.0 beta 2 durchgeführt.

Wenn ich nun ins AdminCP gehe, kommt folgende Fehlermeldung:

Database error in vBulletin 3.6.0 Beta 2:

Invalid SQL:

SELECT adminmessage.adminmessageid
FROM vb_adminmessage AS adminmessage
INNER JOIN vb_adminlog AS adminlog ON (adminlog.script = adminmessage.script AND adminlog.action = adminmessage.action)
WHERE adminmessage.status = 'undone'
AND adminmessage.script <> ''
AND adminlog.dateline > adminmessage.dateline
GROUP BY adminmessage.adminmessageid;

MySQL Error : Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (latin1_general_ci,IMPLICIT) for operation '='
Error Number : 1267
Date : Saturday, June 17th 2006 @ 09:52:38 PM
Script : http://localhost/vb/admincp/index.php?do=home
Referrer : http://localhost/vb/admincp/index.php
IP Address : 127.0.0.1
Username : Pathor
Classname : vB_Database
Wie kann ich das beheben? Man kann alle Einstellungen im AdminCP durchführen, nur die Hauptseite zeigt den Fehler.

EDIT: PHP 5.0.5 und MySQL 5.0.15

Pathor
17.06.2006, 23:17
Wenn ich in der admincp/index.php diesen Code (386-404)

// look for incomplete admin messages that may have actually been independently completed
// and say they're done
$donemessages_result = $db->query_read("
SELECT adminmessage.adminmessageid
FROM " . TABLE_PREFIX . "adminmessage AS adminmessage
INNER JOIN " . TABLE_PREFIX . "adminlog AS adminlog ON (adminlog.script = adminmessage.script AND adminlog.action = adminmessage.action)
WHERE adminmessage.status = 'undone'
AND adminmessage.script <> ''
AND adminlog.dateline > adminmessage.dateline
GROUP BY adminmessage.adminmessageid
");
while ($donemessage = $db->fetch_array($donemessages_result))
{
$db->query_write("
UPDATE " . TABLE_PREFIX . "adminmessage
SET status = 'done'
WHERE adminmessageid = " . intval($donemessage['adminmessageid']) . "
");
}
auskommentiere, gibt es keinen Fehler mehr.

Mystics
18.06.2006, 00:30
Entweder aktualisiert du auf die aktuellste MySQL 5 Version oder du passt alle Kollationen in deiner Datenbank auf einen einheitlichen Typ an.

latin1_swedish_ci ist der Standard und eine oder mehrere Tabellen/Felder deiner Datenbank haben dagegen latin1_general_ci.

Pathor
18.06.2006, 01:00
latin1_swedish_ci ist der Standard und eine oder mehrere Tabellen/Felder deiner Datenbank haben dagegen latin1_general_ci.
Wie kann ich das denn am schnellsten durchführen?

Mystics
18.06.2006, 01:00
phpMyAdmin

Pathor
18.06.2006, 01:04
Hab ich schon probiert.
Wenn ich auf 'Struktur' klicke und die einzelnen Zeilen bearbeite, werden manche Kollationen nicht übernommen.
...und wenn ich erfolgreich eine ganze Tabelle geändert habe, wird trotzdem noch in der Hauptübersicht die alte Kollation angezeigt.

Mystics
18.06.2006, 01:07
Du musst es eben für die ganze Tabelle auch ändern :)

Schaue dir die Struktur einer Tabelle an und klicke oben auf "Operationen".

Pathor
18.06.2006, 01:13
Das war´s! Danke! :)
Wieder was dazugelernt.

Nachtrag: Funktioniert jetzt alles innerhalb normaler Parameter. :D

krümel
25.06.2006, 16:56
Funktioniert bei mir nicht.

Gehe beim phpmyadmin auf Operationen.
Ändere die Kollation um. Klicke auf ok.

Zeigt mir an er hätte den Code durchgeführt.

Aber passiert ist nichts =(

Alles per Hand ändern? X_X

Mystics
26.06.2006, 13:11
Hm, geht es um ein Feld, um eine Tabelle oder die ganze Datenbank?

Tobias Honscha
28.07.2006, 20:36
Ich finde keine Lösung für das Problem :

Invalid SQL:

SELECT adminmessage.adminmessageid
FROM adminmessage AS adminmessage
INNER JOIN adminlog AS adminlog ON (adminlog.script = adminmessage.script AND adminlog.action = adminmessage.action)
WHERE adminmessage.status = 'undone'
AND adminmessage.script <> ''
AND adminlog.dateline > adminmessage.dateline
GROUP BY adminmessage.adminmessageid;

MySQL Error : Illegal mix of collations (latin1_german1_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '='
Error Number : 1267
Date : Friday, July 28th 2006 @ 08:28:08 PM

Alle Collations stehen auf latin1_german1_ci - ich weiß nicht warum vBulletin auf swedish kommt....

Tobias Honscha
28.07.2006, 20:50
Fehler behoben ...

Die Tabellenreihen haben auch eine Kollation - nach Änderung funktioniert alles ;)

deta
01.08.2006, 08:45
Entweder aktualisiert du auf die aktuellste MySQL 5 Version oder du passt alle Kollationen in deiner Datenbank auf einen einheitlichen Typ an.

latin1_swedish_ci ist der Standard und eine oder mehrere Tabellen/Felder deiner Datenbank haben dagegen latin1_general_ci.

Was ist jetzt der Vorteil von Mysql5 ?

Da ich gerade selber bei der Fehlerbereinigung bin.

Überlege ich gleich auf Mysql5 zu gehen. Macht es Sinn?

Nachteile / Vorteile?

Mfg
Deta

krümel
02.08.2006, 10:54
Fehler behoben ...

Die Tabellenreihen haben auch eine Kollation - nach Änderung funktioniert alles ;)...und wie macht man das?

Kriege nur eine Kollation Änderung für den gesamten teil hin...
die einzelnen ändert er nicht. fehler bleibt...

Mystics
02.08.2006, 12:12
Bearbeite die einzelnen Felder der Tabelle und ändere die Kollation.

krümel
02.08.2006, 23:08
Hab jede Tabelle mit dem general in latin1_swedish_ci geändert...
Der Fehler bleibt ... :(

Pathor
02.08.2006, 23:40
Maybe -> http://www.vbulletin-germany.com/forum/showpost.php?p=147765&postcount=7

krümel
02.08.2006, 23:50
Alles gemacht...

siehe Anhang!
Das swedish zieht sich von der ersten Tabelle bis zur letzten.

Mystics
03.08.2006, 09:51
Hab jede Tabelle mit dem general in latin1_swedish_ci geändert...
Der Fehler bleibt ... :(Und auch die Felder?

Welche Fehlermeldung bekommst du eigtl. genau?

krümel
03.08.2006, 20:26
Database error in vBulletin 3.6.0 Release Candidate 3:
Invalid SQL:
SELECT adminmessage.adminmessageid
FROM kB_vB_adminmessage AS adminmessage
INNER JOIN kB_vB_adminlog AS adminlog ON (adminlog.script = adminmessage.script AND adminlog.action = adminmessage.action)
WHERE adminmessage.status = 'undone'
AND adminmessage.script <> ''
AND adminlog.dateline > adminmessage.dateline
GROUP BY adminmessage.adminmessageid;
MySQL Error : Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (latin1_general_ci,IMPLICIT) for operation '='
Error Number : 1267
Date : Thursday, August 3rd 2006 @ 08:24:46 PM
Script : http://kuruboard.de/vB/admincp/index.php?do=home
Referrer : http://kuruboard.de/vB/admincp/index.php
IP Address : 84.133.207.98
Username : krü
Classname : vb_database


Was meinst du mit Felder?

Mystics
04.08.2006, 08:29
Na die einzelnen Felder in der Tabelle.
Schaue dir die Struktur der Tabellen an und klicke neben den Feldern auf den Stift. Ändere dort die Kollation. Es reicht, wenn du das erstmal in den in der Fehlermeldung genannten Tabellen machst.

TheBrain
20.01.2007, 19:43
gleiches problem

Database error in vBulletin 3.5.5:

Invalid SQL:

SELECT atype.extension, atype.thumbnail, atype.newwindow, aperm.usergroupid,
atype.height AS default_height, atype.width AS default_width, atype.size AS default_size,
aperm.height AS custom_height, aperm.width AS custom_width, aperm.size AS custom_size,
aperm.attachmentpermissions AS custom_permissions
FROM attachmenttype AS atype
LEFT JOIN attachmentpermission AS aperm USING (extension)
WHERE enabled = 1
ORDER BY extension;

MySQL Error : Illegal mix of collations (latin1_bin,IMPLICIT) and (cp850_bin,IMPLICIT) for operation '='
Error Number : 1267
Date : Saturday, January 20th 2007 @ 07:42:13 PM
Script : http://localhost/install/upgrade_360b1.php?step=11
Referrer : http://localhost/install/upgrade_360b1.php?step=10
IP Address : 127.0.0.1
Username :
Classname : vB_Database

aber nach änderung dennoch bleibt der fehler

Mystics
21.01.2007, 23:04
MySQL Error : Illegal mix of collations (latin1_bin,IMPLICIT) and (cp850_bin,IMPLICIT) for operation '='Klar, die Kollation ist zwar nun anders, aber wieder nicht einheitlich. Zumal ist sowohl latin1_bin, als auch cp850_bin falsch. Du musst schon alle Tabellen und Tabellenfelder auf eine einheitliche Kollation ändern, das dürfte latin1_swedish_ci sein (schaue einfach die anderen Tabellen an, welche Kollation dort angezeigt wird und stelle diese Kollation überall ein).

Fatih1571
04.04.2007, 15:35
Wenn ich in der admincp/index.php diesen Code (386-404)

// look for incomplete admin messages that may have actually been independently completed
// and say they're done
$donemessages_result = $db->query_read("
SELECT adminmessage.adminmessageid
FROM " . TABLE_PREFIX . "adminmessage AS adminmessage
INNER JOIN " . TABLE_PREFIX . "adminlog AS adminlog ON (adminlog.script = adminmessage.script AND adminlog.action = adminmessage.action)
WHERE adminmessage.status = 'undone'
AND adminmessage.script <> ''
AND adminlog.dateline > adminmessage.dateline
GROUP BY adminmessage.adminmessageid
");
while ($donemessage = $db->fetch_array($donemessages_result))
{
$db->query_write("
UPDATE " . TABLE_PREFIX . "adminmessage
SET status = 'done'
WHERE adminmessageid = " . intval($donemessage['adminmessageid']) . "
");
}auskommentiere, gibt es keinen Fehler mehr.



wie macht man da salso auskommentieren ?

Pathor
04.04.2007, 15:37
Das ist die Lösung --> http://www.vbulletin-germany.com/forum/showpost.php?p=147754&postcount=3 ;)

Fatih1571
04.04.2007, 15:44
so richtig ?

Pathor
04.04.2007, 15:55
In phpMyAdmin:

Operationen -> Kollation

Eigentlich sollte das aber egal sein (AFAIK). Gucke dir mal die Struktur (2. Symbol von rechts) von der Tabelle "vb3_forum" an. Da müssen auch alle Kollationen auf "utf8" stehen.

Fatih1571
04.04.2007, 15:57
Die sollen doch alle auf latin1_general_ci sein oder was ? so hab ich verstanden

Pathor
04.04.2007, 16:10
Die Kollation deiner Tabellen ist utf8 und die Kollation der Felder (aller Felder) ist latin1?
Genau da liegt ja das Problem. Die Kollation sollte überall gleich sein.

Fatih1571
04.04.2007, 16:11
gleich sein habe ich verstanden aber was für eine Kollation sollen sie den haben ist latin1 ok ? oder soll es utf8 sein ? oder ist es egal `?

Pathor
04.04.2007, 16:19
Wenn die Felder latin1 sind, würde ich die Tabellen auch auf latin1 umstellen.

Fatih1571
04.04.2007, 16:34
Ich raffe nix mehr :D also dann in andere sprobelm ihc habe es nun auf ein anderen server hochgeladen aber dieses mal mit MYSQL 5 aber nun ist das problem bei der installation bei der Installation des style packs tretet ein fehelr auf warum ?

Dabei bleibt es hängen :

Schritt 7) Import des Styles
Importiere vbulletin-style.xml
MASTER-STYLE

Bitte warten

Pathor
04.04.2007, 19:26
Du hättest doch einfach nur die Kollation der Tabellen von utf8 auf latin1 ändern sollen.

Das was du jetzt postest ist ein komplett anderer Fehler...

Fatih1571
04.04.2007, 22:36
kannst du mir das machen ?

ich gebe dir die zugangsdaten zu mienems server.

Ich raffe das net.

Fatih1571
04.04.2007, 22:44
Naja ich versuhcs nochmal aber muss ich denn alle Tabelen einzelnt auf latin1_general_ci stellen ? oder geht das auch nicht alle zusammen wie bei den feldern ?

Fatih1571
04.04.2007, 22:56
Ok alles geht wieder ;)