Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Połączenie dwóch baz danych


C47
Przejdź do rozwiązania Rozwiązane przez DawPi,

Rekomendowane odpowiedzi

Witam.

 

 

Mam pewien problem z bazami danych. Posiadam forum IPB 3.4.6 oraz bazę danych na komputerze w formie pliku SQL. Moje pytanie brzmi: jak połączyć bazę danych tą z pliku do posiadanego forum? W sumie potrzebne mi tylko najważniejsze dane: posty, tematy, użytkownicy.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
  • Rozwiązanie

Również nie wierzę, że chcesz się podjąć tak dość złożonego procesu, a poszukać Ci się nie chce.

 

http://forum.invisionize.pl/topic/31353-polaczenie-uzytkownikow-z-2-baz-mysql/?p=190938

  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki za link.

 

 

Gdzie znajduje się ten konwerter? Bo to chyba nie jest to: http://www.invisionpower.com/convert? Pobierałem to ale nie umiem się tym posługiwać. W tym momencie mam forum na 3.4.7 i bazę w pliku sql w wersji 3.4.6

 

 

edit:

 

co w przypadku gdy na moim forum są inne tabele niż w pliku sql? wystarczy inny mod i już pewnie kolejność zostanie zmieniona lub jakaś kolumna dodana...

Edytowane przez C47
Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Szczerze? Nie ruszaj tego sam, bo więcej możesz zepsuć niż naprawić.

 

Najlepiej zrób sobie to testowo, np. na localhoście, a dopiero potem, jak już zrozumiesz jak działa ten mechanizm, na żywych organizmie.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Dobra, wgrałem bazę do serwera i dałem konwersję, jedynie, ze teraz mam problem z polskimi znakami, z tego co widzę obie bazy są w UTF8 więc przy konwersji wybieram to UTF8 (taka rozwijana lista gdzie mam wpisać kodowanie) ale źle się to konwertuje bo bez polskich znaków :/

 

 

Oczywiście mam kopię sprzed konwersji

Edytowane przez C47
Odnośnik do komentarza
Udostępnij na innych stronach

Niestety nie da się edytować posta bo bym poprawił tylko poprzedni...

 

 

Chyba jednak nie są obie bazy w tym samym kodowaniu.

 

 

 

W mojej bazie jest tak: 

DROP TABLE IF EXISTS `admin_login_logs`;/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `admin_login_logs` (
  `admin_id` int(10) NOT NULL AUTO_INCREMENT,
  `admin_ip_address` varchar(46) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0.0.0.0',
  `admin_username` varchar(40) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `admin_time` int(10) unsigned NOT NULL DEFAULT '0',
  `admin_success` int(1) unsigned NOT NULL DEFAULT '0',
  `admin_post_details` text COLLATE utf8_unicode_ci,
  PRIMARY KEY (`admin_id`),
  KEY `admin_ip_address` (`admin_ip_address`),
  KEY `admin_time` (`admin_time`)
) ENGINE=MyISAM AUTO_INCREMENT=132 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

A bazie w pliku jest tak: 

CREATE TABLE IF NOT EXISTS `admin_login_logs` (  `admin_id` int(10) NOT NULL auto_increment,
  `admin_ip_address` varchar(46) NOT NULL default '0.0.0.0',
  `admin_username` varchar(40) NOT NULL default '',
  `admin_time` int(10) unsigned NOT NULL default '0',
  `admin_success` int(1) unsigned NOT NULL default '0',
  `admin_post_details` text,
  PRIMARY KEY  (`admin_id`),
  KEY `admin_ip_address` (`admin_ip_address`),
  KEY `admin_time` (`admin_time`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin2 AUTO_INCREMENT=1431 ;
Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Próbować możesz, ale zawsze najlepiej mieć to samo kodowanie. Ewentualnie zmienić je na jednolite. Sporo o tym pisaliśmy na forum.

  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Więc tak, zmieniłem sobie kodowanie i scaliłem obie bazy, wszystko jest OK, niestety jest jedno ale: czasami przy wejściu w profil lub temat wywala na górze forum takie oto błędy: 

Warning: array_merge(): Argument #2 is not an array in /home/cscentru/public_html/xxx/sources/classes/bbcode/core.php on line 1375

Warning: array_merge(): Argument #2 is not an array in /home/cscentru/public_html/xxx/sources/classes/bbcode/core.php on line 1375

Warning: Cannot modify header information - headers already sent by (output started at /home/cscentru/public_html/xxx/sources/classes/bbcode/core.php:1375) in /home/cscentru/public_html/xxx/sources/classes/output/formats/html/htmlOutput.php on line 114

Warning: Cannot modify header information - headers already sent by (output started at /home/cscentru/public_html/xxx/sources/classes/bbcode/core.php:1375) in /home/cscentru/public_html/xxx/sources/classes/output/formats/html/htmlOutput.php on line 127

Warning: Cannot modify header information - headers already sent by (output started at /home/cscentru/public_html/xxx/sources/classes/bbcode/core.php:1375) in /home/cscentru/public_html/xxx/sources/classes/output/formats/html/htmlOutput.php on line 136

Warning: Cannot modify header information - headers already sent by (output started at /home/cscentru/public_html/xxx/sources/classes/bbcode/core.php:1375) in /home/cscentru/public_html/xxx/sources/classes/output/formats/html/htmlOutput.php on line 137


Warning: Cannot modify header information - headers already sent by (output started at /home/cscentru/public_html/xxx/sources/classes/bbcode/core.php:1375) in /home/cscentru/public_html/xxx/sources/classes/output/formats/html/htmlOutput.php on line 141

Które powodują, że całe kodowanie polskich znaków trafia szlag, wszystko jest bez polskich znaków (stopka, menu, treść, wszystko).

Edytowane przez C47
Odnośnik do komentarza
Udostępnij na innych stronach

Dokładnie takie coś: 

$_memberData = array_merge( $_memberData, $this->caches['group_cache'][ $this->parsing_mgroup ] );

 

ale to jest zamknięte:

 //-----------------------------------------// Fix line breaks
//-----------------------------------------


if ( $this->parse_html )
{
$txt = str_replace( "~~~~~_____~~~~~", '<br />', $txt );
}


$_memberData = array( 'member_group_id' => $this->parsing_mgroup, 'mgroup_others' => $this->parsing_mgroup_others );


if( $this->parsing_mgroup )
{
$_memberData = array_merge( $_memberData, $this->caches['group_cache'][ $this->parsing_mgroup ] );
}


if( $this->parsing_mgroup_others )
{
$_memberData = ips_MemberRegistry::setUpSecondaryGroups( $_memberData );
}
Odnośnik do komentarza
Udostępnij na innych stronach

dobra, naprawiłem to sobie nawet.

 

 

jeszcze mam pytanie, zmieniłem w tabelach poprzez zamianę (replace) dane w postach i przy edytowaniu posta są one OK ale przy wyświetlaniu dalej pokazuje stare wartości, jak to poprawić?

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.