Hallo
Ich habe gerade die PhpBB2 Datenbank auf dem MS SQL Server A (befindet sich auf dem Webserver) nach MS SQL Server B (befindet sich im Netzwerk) migriert.
Dabei musste ich auf dem Webserver nur noch DSN abändern, damit die auf MS SQL Server B zeigt und nicht wie bisher auf MS SQL A.
Nun Kann ich mein Forum öffnen und Beiträge anschauen. Auch bearbeiten von Beiträgen ist kein Problem. Das Problem entsteht wenn ich einen neuen Beitrag erfassen möchte. Dann erscheinen folgende Meldungen (wobei sehr wahrscheinlich nur die erste relevant wäre):
Warning: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Der Wert NULL kann in Spalte 'topic_replies', Tabelle 'phpbb2.dbo.phpbb_topics' nicht eingefügt werden. Die Spalte lässt NULL-Werte nicht zu. INSERT schlägt fehl., SQL state 23000 in SQLExecDirect in c:\daten\phpbb2\phpbb_forum\db\mssql-odbc.php on line 154
Warning: Cannot add header information - headers already sent by (output started at c:\daten\phpbb2\phpbb_forum\db\mssql-odbc.php:154) in c:\daten\phpbb2\phpbb_forum\includes\page_header.php on line 452
Warning: Cannot add header information - headers already sent by (output started at c:\daten\phpbb2\phpbb_forum\db\mssql-odbc.php:154) in c:\daten\phpbb2\phpbb_forum\includes\page_header.php on line 453
Warning: Cannot add header information - headers already sent by (output started at c:\daten\phpbb2\phpbb_forum\db\mssql-odbc.php:154) in c:\daten\phpbb2\phpbb_forum\includes\page_header.php on line 454
Komisch ist, dass die Vorschau möglich ist (wird dabei etwas in die Datenbank geschrieben?)!
Scheinbar wird in die Spalte 'topic_replies' der Tabelle phpbb_topics ein NULL Wert geschrieben! Weiss jemand warum die betrefende Variable plötzlich keinen Wert hat?
Wie löse ich das Problem? Hab ich was bei der Migration vergessen?
Für jeden Hinweis, vielen Dank im Voraus.
PS: Eine Suche in diesem Forum brachte nichts. Scheinbar gab es solche Probleme bisher nicht!
Gruss
daniel aus der schweiz
Migration vom MS SQL Server A nach MS SQL Server B
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Ich weiß nur so viel das das Forum bei einem Abschicken Befehl den Topic schreibt was es bei einem Voransicht nicht macht.
Beim Bearbeiten verändert es nur die Werte entsprechend dem neu verändertem Topic. Dabei braucht das Forum keine neuen Werte legen da es diese ja schon hat.
Was der NULL Wert jedoch damit zu tun hat kann ich nicht beantworten.
Mein Server läuft auch auf Linux
.
Beim Bearbeiten verändert es nur die Werte entsprechend dem neu verändertem Topic. Dabei braucht das Forum keine neuen Werte legen da es diese ja schon hat.
Was der NULL Wert jedoch damit zu tun hat kann ich nicht beantworten.
Mein Server läuft auch auf Linux
-
Gast
RE:
Das hilft mir auch nicht weiter.
Nun hab ich im Code nachgeschaut. In der Datei:
posting.php (Hauptverzeichnis von PhpBB)
in der Zeilen: 520 bis 528 werden einige Variablen an die INSERT SQL Abfrage übergeben. Ich hab hier eine Auswertung gemacht und nur Titel und Topicinhalt sind bei mir gesetzt.
Hier noch der Auszug. Würde mich wundern ob bei euch das selbe rauskommt oder habt ihr doch z.B. den $username gesetzt.
Zeile (ECHO) erzingt die Ausgabe der Variablen. Bei mir kommt folgendes raus:
newtopic:Array:1:0:1::::Titel der Testnachricht:das ist nur ein Test:::
Scheinbar liefert die HTTP_POST_VARS keine Werte für Username und andere Variablen!? Warum das?
Nun hab ich im Code nachgeschaut. In der Datei:
posting.php (Hauptverzeichnis von PhpBB)
in der Zeilen: 520 bis 528 werden einige Variablen an die INSERT SQL Abfrage übergeben. Ich hab hier eine Auswertung gemacht und nur Titel und Topicinhalt sind bei mir gesetzt.
Hier noch der Auszug. Würde mich wundern ob bei euch das selbe rauskommt oder habt ihr doch z.B. den $username gesetzt.
Code: Alles auswählen
$username = ( !empty($HTTP_POST_VARS['username']) ) ? $HTTP_POST_VARS['username'] : '';
$subject = ( !empty($HTTP_POST_VARS['subject']) ) ? trim($HTTP_POST_VARS['subject']) : '';
$message = ( !empty($HTTP_POST_VARS['message']) ) ? $HTTP_POST_VARS['message'] : '';
$poll_title = ( isset($HTTP_POST_VARS['poll_title']) && $is_auth['auth_pollcreate'] ) ? $HTTP_POST_VARS['poll_title'] : '';
$poll_options = ( isset($HTTP_POST_VARS['poll_option_text']) && $is_auth['auth_pollcreate'] ) ? $HTTP_POST_VARS['poll_option_text'] : '';
$poll_length = ( isset($HTTP_POST_VARS['poll_length']) && $is_auth['auth_pollcreate'] ) ? $HTTP_POST_VARS['poll_length'] : '';
$bbcode_uid = '';
echo $mode.":".$post_data.":".$bbcode_on.":".$html_on.":".$smilies_on.":".$error_msg.":".$username.":".$bbcode_uid.":".$subject.":".$message. ":".$poll_title.":".$poll_options.":".$poll_length;
prepare_post($mode, $post_data, $bbcode_on, $html_on, $smilies_on, $error_msg, $username, $bbcode_uid, $subject, $message, $poll_title, $poll_options, $poll_length);newtopic:Array:1:0:1::::Titel der Testnachricht:das ist nur ein Test:::
Scheinbar liefert die HTTP_POST_VARS keine Werte für Username und andere Variablen!? Warum das?
also erstmal muss ich sagen, dass ich mit MSSQL Datenbanken keine Erfahrung habe, aber dein Fehler klingt mir so als ob die Struktur der Datenbank falsch übertragen wurde. Der Wert topic_replies wird nicht eingetragen bei der Themaerstellung. Der sollte einfach standardmäßig 0 sein. Überprüfe vielleicht mal ob du den Standardwert für das Feld topic_replies auf 0 festsetzen kannst. Per Datenbanktool.
-
Gast
RE :-)
@Mister_X
Genau das ist es
!!!! Die Standardwerte wurden nicht gesetzt und ID wurde auch nicht inkrementiert.
Scheinbar habe ich beim Import nicht alles richtig aktiviert. Bei einem 2. Versuch heute ging alles wie gewollt. Jetzt kann ich auch neue Beiträge problemlos erstellen.
Vielen Dank für die Hilfe !
Gruss
aus der Schweiz
Genau das ist es
Scheinbar habe ich beim Import nicht alles richtig aktiviert. Bei einem 2. Versuch heute ging alles wie gewollt. Jetzt kann ich auch neue Beiträge problemlos erstellen.
Vielen Dank für die Hilfe !
Gruss
aus der Schweiz