Zbłąkany
20.05.2004, 23:08:03
Mam drobny problem: posiadam dwie bazy danych jedna to mysql, a druga to ms sql server 2000 chcialbym wyciagnac dane z bazy ms sql server 2000 za pomoca odbc i porownac z danymi z bazy mysql najlepiej za pomoca mysql ale jesli nie da rady to moze byc odbc i jesli dane z bazy mysql beda sie roznic od wyjsciowych to je zmienic na te z bazy ms sql server 2000; nazwy baz sa rozne, ale tabel i kolumn identyczne; jak cos takiego wykonac?? nie musi byc jedno zapytanie tylko ze tych rekordow moze byc powyzej 1000 nawet

prosze o jakis punkt zaczepny reszty sobie poszukam
Bakus
21.05.2004, 03:41:16
odnosze dziwne wrażenie, że takie coś nie jest możliwe przez ani odbc, ani sql...
będziesz chyba musiał pobrać rekord z mssql i przez WHERE sprawdzić, czy taki sam rekord jest w mysql'u... jeżeli nie, to uaktualniasz w mysql'u...
dla jednego rekordu takiego samego w obu bazach masz 2 zapytania, dla różnych 3...
do skryptu na początku proponuję dorzucić[php:1:edecb0d0d4]<?php
set_time_limit(0);
?>[/php:1:edecb0d0d4]
Zbłąkany
21.05.2004, 06:25:34
Wierze ze ten limit sie moze przydac
Edit --> przyda sie na bank
Zbłąkany
21.05.2004, 16:27:04
Dobra poddaje sie :wink: zacialem sie w takim momencie:
[php:1:2699549053]<?php
set_time_limit(0);
require("../config/update/mssql.php");
require("../config/update/mysql.php");
$mssql_zapyt="SELECT grt_Id,grt_Nazwa FROM sl_GrupaTw";
$mssql_wykon=odbc_exec($mssql_pol, $mssql_zapyt);
while(odbc_fetch_row($mssql_wykon)){
$mssql_grt_Id=odbc_result($mssql_wykon,1);
$mssql_grt_Nazwa=odbc_result($mssql_wykon,2);
$mysql_pol;
$mysql_wyb_db;
$mysql_zapyt="SELECT grt_Id,grt_Nazwa FROM sl_grupatw WHERE grt_Id LIKE ".$mssql_grt_Id."";
$wynik=mysql_query($mysql_zapyt);
$tablica=mysql_fetch_array($wynik, MYSQL_NUM);
$mysql_grt_Id=$tablica[0];
$mysql_grt_Nazwa=$tablica[1];
if(!$mysql_grt_Id==""){
$mysql_zapyt2="INSERT INTO sl_grupatw (grt_Id, grt_Nazwa) VALUES($mssql_grt_Id, $mssql_grt_Nazwa)";
mysql_query($mysql_zapyt2);
}
}
mysql_close($mysql_pol);
odbc_close($mssql_pol);
?>[/php:1:2699549053]
plik mysql.php:
[php:1:2699549053]<?php
$mysql_user="root";
$mysql_host="localhost";
$mysql_pass="czarownik";
$mysql_db="sklep_internetowy";
$mysql_pol=mysql_connect($mysql_host, $mysql_user, $mysql_pass);
$mysql_wyb_db=mysql_select_db($mysql_db);
?>[/php:1:2699549053]
plik mssql.php:
[php:1:2699549053]<?php
$mssql_user="sa";
$mssql_host="localhost";
$mssql_pass="";
$mssql_pol=odbc_connect($mssql_host, $mssql_user, $mssql_pass);
?>[/php:1:2699549053]
Jak wywoluje ten skrypt to nie aktualizuje mi sie baza danych mysql specjalnie utworzylem odpowiednia tabele z odpowiednimi polami i co najwazniejsze bez rekordow i nie chce mi tej bazy wypelnic w ogole