Schrift
[thread]3315[/thread]

[MySQL]Transaktionen in "BDB" Tabellen



<< |< 1 2 >| >> 13 Einträge, 2 Seiten
SirLant
 2003-08-24 01:38
#31726 #31726
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Ich habe zwei Tabellen vom Typ BDB, in welche einige Datensätze eingetragen werden muss.Dies mache ich über die Transaktionen von DBI, jedoch bekomme ich folgende Fehlermeldung

Quote
DBD::mysql::db rollback failed: Warnung: Das Rollback konnte bei einigen Tabellen, die nicht mittels Transaktionen geändert wurden, nicht ausgeführt werden. at E:/WWW/cgi-bin/pseudecom/doku_shop.cgi line 306.


Das heißt schonmal, dass die Transaktion fehl schlug, dies liegt daran, dass die Tabellen irgendwie wieder auf den Typ MyIsam geändert wurden.
Ich habe in PHPMyAdmin jedoch explizit DBD angegeben(habs über die SQL Konsole gemacht).

Nun muss ich dies ja irgendwie beheben, wie muss der Befehl denn lauten der das Dateiformat ändert?Bzw. geht das überhaupt ohne die Tabelle nochmal neu anzulegen?
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
macMeck
 2003-08-24 18:23
#31727 #31727
User since
2003-08-04
162 Artikel
BenutzerIn
[default_avatar]
Erstmal würde ich rausbekommen, was du jetzt wirklich für einen Tabellen-Typ hast. Geh am besten mal in die MySQL-Konsole und mach ein [sql]SHOW TABLE STATUS[/sql]. Wenn da BerkeleyDB steht hast du ja noch BDB. Habe noch nie gehört, dass sich der Tabellen-Typ "von selbst" ändert...
Als nächstes würde ich checken, ob deine DBD::mysql Version Transaktionen überhaupt unterstützt. Das geht nämlich noch gar nicht so lange.
Prinzipiell funktioniert das ganze, hab das auch im Einsatz.

macMeck
It all works, as long as it's documented!
SirLant
 2003-08-24 21:27
#31728 #31728
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Sind vom Typ MyIsam, wie oben bereits erwähnt, da PHPMyAdmin in meiner Version BDB noch nicht zur Verfügung stellt, ändert er diese wohl auch im SQL Fenster :(
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
macMeck
 2003-08-25 11:46
#31729 #31729
User since
2003-08-04
162 Artikel
BenutzerIn
[default_avatar]
phpMyAdmin unterstützt BDB nicht??? Was ist das denn für eine Version? Und welche Version von MySQL hast du? Wenn es eine 3.xx-Version ist, brauchst du nämlich in jedem Fall MySQL-max um BDB zu benutzen. Und es sieht mir eher danach aus, dass das max-Modul fehlt.
Eine Möglichkeit den Tabellentyp ist [sql]ALTER TABLE tabellenname TYPE = BerkeleyDB;[/sql]Funktioniert aber natürlich nur, wenn du MySQL-max hast. Das würde ich zuerst überprüfen (steht dann im MySQL-Monitor als Server-Version)...

HTH

macMeck
It all works, as long as it's documented!
SirLant
 2003-08-25 12:16
#31730 #31730
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Hab MySQL 4.x und da sind die ja dabei laut doku.
Ok danke, hätte nur nicht gedacht, dass das so mit Alter geht, weil es in der Doku bei den Alter-Attributen nicht erwähnt wird.
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
macMeck
 2003-08-25 12:28
#31731 #31731
User since
2003-08-04
162 Artikel
BenutzerIn
[default_avatar]
Aber auch unter MySQL 4.x brauchst du die max-Distribution. Wenn du Windows benutzt ist die zwar dabei wird aber AFAIK nicht automatisch gestartet. Bei der 3.x war's zumindest so, dass immer die "normale" gestartet wurde...

macMeck
It all works, as long as it's documented!
SirLant
 2003-08-25 14:08
#31732 #31732
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Wie starte ich die max denn?
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
SirLant
 2003-08-25 14:38
#31733 #31733
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Mein MySQL besitzt nicht einmal die Unterstützung für BDB Tabellen(habe ich mit "show variables like "have_%";" rausgefunden), habe MySQL 4.013 ,welche Version benötige ich denn um BDB Tabellen zu verwenden?
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
macMeck
 2003-08-25 14:55
#31734 #31734
User since
2003-08-04
162 Artikel
BenutzerIn
[default_avatar]
Hi,

ich denke mal, es geht um Win. Wenn ich mich recht entsinne musst du den MySQL-Service stoppen
Code: (dl )
net stop mysql

Dann den MySQL-Service entfernen
Code: (dl )
mysqld-nt --remove

Den MySQL-max installieren
Code: (dl )
mysqld-max-nt --install

und starten
Code: (dl )
net start mysql


HTH

macMeck
It all works, as long as it's documented!
macMeck
 2003-08-25 14:57
#31735 #31735
User since
2003-08-04
162 Artikel
BenutzerIn
[default_avatar]
[quote=SirLant,25.08.2003, 12:38]Mein MySQL besitzt nicht einmal die Unterstützung für BDB Tabellen(habe ich mit "show variables like "have_%";" rausgefunden), habe MySQL 4.013 ,welche Version benötige ich denn um BDB Tabellen zu verwenden?[/quote]
Das geht mit 4.0.13 schon, aber halt nur mit max...

macMeck
It all works, as long as it's documented!
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2003-08-24 01:38.