Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Export z Ms Access do Mysql = problemy
gucio_zg
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 9.10.2009
Skąd: zielona góra

Ostrzeżenie: (0%)
-----


Witam wszystkich.

Pracuję nad zleceniem. Muszę przejść coś w rodzaju rekrutacji.
Pracuję jednocześnie na dwóch systemach w tym na linuxie gdzie mam postawiony serwer www, mysql oraz phpmyadmin. Zadanie wydaje się banalne: przeniesienie bazy z Ms Access do mysql z dostępem przez php.
Mam problem z prawidłowym wyeksportowaniem tabel z access'a do csv, bo w ten sposób chcę przenieść dane z table do mysql.
Cały czas otrzymuję komunikat w phpmyadmin takiej treści:

"#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NR,Nazwisko,Imie,Firma,Kod pocztowy,Miasto,Adres,Państwo,Telefon,IDklienta' at line 1 "

Czy może ktoś mi wyjaśnić co jest nie tak jak trzeba?
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
Mchl
post
Post #2





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


Jak robisz import przez CSV, to bez nagłówków.
Go to the top of the page
+Quote Post
gucio_zg
post
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 9.10.2009
Skąd: zielona góra

Ostrzeżenie: (0%)
-----


Export robię pod linuxem mdb-tools'em: sudo mdb-extract baza.mdb Customers > tabela.csv. Czy mogę prosić o pomoc w konstrukcji polecenia ewentualnie zaproponowanie alternatywnej metody exportu tabel z accessa ?
Go to the top of the page
+Quote Post
Mchl
post
Post #4





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


Po prostu otwórz tak zrobiony plik csv i wywal z niego linijkę z nagłówkami.
Go to the top of the page
+Quote Post
gucio_zg
post
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 9.10.2009
Skąd: zielona góra

Ostrzeżenie: (0%)
-----


Niestety usunięcie nagłówków nic nie pomogło.
Czy jest jakiś sprawdzony sposób na export tabel z accessa ?
Go to the top of the page
+Quote Post
Mchl
post
Post #6





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


Ja eksportuję bezpośrednio z Accessa do CSV. Potem przez phpMyAdmin Import

Tak nawiasem mówiąc, to w jaki sposób robisz ten import w phpMyAdmin?

Ten post edytował Mchl 9.12.2009, 19:41:44
Go to the top of the page
+Quote Post
gucio_zg
post
Post #7





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 9.10.2009
Skąd: zielona góra

Ostrzeżenie: (0%)
-----


Niestety baza w Accessie jest w postaci aplikacji. Nie mam możliwości edycji z poziomu Accessa.
Go to the top of the page
+Quote Post
Mchl
post
Post #8





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


Cytat(Mchl @ 9.12.2009, 19:40:26 ) *
Tak nawiasem mówiąc, to w jaki sposób robisz ten import w phpMyAdmin?
Go to the top of the page
+Quote Post
gucio_zg
post
Post #9





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 9.10.2009
Skąd: zielona góra

Ostrzeżenie: (0%)
-----


nowa baza danych -> nowa tabela -> import (csv z funkcja load)
Go to the top of the page
+Quote Post
Mchl
post
Post #10





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


I sprawdziłeś czy zgadza Ci się kodowanie i znaki specjalne?
Go to the top of the page
+Quote Post
gucio_zg
post
Post #11





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 9.10.2009
Skąd: zielona góra

Ostrzeżenie: (0%)
-----


po pierwszej nieudanej próbie domyśliłem się że może chodzić o znaki.
ponowie swoje pytanie. Czy są jakieś inne sposoby na wyciągnięcie tabel z accessa ?
Go to the top of the page
+Quote Post
Mchl
post
Post #12





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


Nie znam, ale jeżeli dostajesz poprawny plik CSV, to już dalej nie powinieneś mieć problemów. Wklej tutaj ze dwa-trzy pierwsze wiersze i definicję tabeli.

Przypomniało mi się. Możesz jeszcze przez ODBC próbować się łączyć.
Go to the top of the page
+Quote Post
gucio_zg
post
Post #13





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 9.10.2009
Skąd: zielona góra

Ostrzeżenie: (0%)
-----


Po przemyśleniach doszedłem do jednego prostego ale to zaje... prostego wniosku. Muszę wyciągnąć samą tabele z access'a z prawidłowymi nazwami kolumn i dopiero importować dane.

Mam inny problem. Dodawanie do bazy mysql.

$add="INSERT INTO projekty ( `NR` , `Tytul` , `Data_rozpoczecia` , `Data_zakonczenia` , `Komentarz` , `szczegoly` )
VALUES (
'$_POST[NR]', '$_POST[Tytul]', '$_POST[Data_rozpoczecia]', '$_POST[Data_zakonczenia]', '$_POST[Komentarz]', '$_POST[szczegoly]'
)";


Czy jest tu gdzieś jakiś błąd, że skubaniec nie dodaje wpisów? Usuwanie i edycja działają jak należy.

tiaaa zapomniałem o najważniejszym


$idzapytania = mysql_query($add);

Ten post edytował gucio_zg 10.12.2009, 17:00:13
Go to the top of the page
+Quote Post
Mchl
post
Post #14





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


W zasadzie same błędy

  1. $add="INSERT INTO projekty ( `NR` , `Tytul` , `Data_rozpoczecia` , `Data_zakonczenia` , `Komentarz` , `szczegoly` )
  2. VALUES (
  3. '{$_POST['NR']}', '{$_POST['Tytul']}', '{$_POST['Data_rozpoczecia']}', '{$_POST['Data_zakonczenia']}', '{$_POST['Komentarz']}', '{$_POST['szczegoly']}')";


Nie mówiąc o tym, że trzeba by zmienne z $_POST najpierw dla bezpieczeństwa przepuścić przez mysql_real_escape_string
Go to the top of the page
+Quote Post
gucio_zg
post
Post #15





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 9.10.2009
Skąd: zielona góra

Ostrzeżenie: (0%)
-----


Trafia mnie jasny szlag! Znalazłem programik MSA Query którym wyciagam wszystkie zapytania do bazy danych (funkcje przycisków):

Kod
SELECT `firma.NR`, `firma.Mod`, `firma.Typ`, `firma.Kol`, `firma.Nr VIN`, `firma.Dostawa`, `firma.Wpłaty suma`, `firma.Wydanie 1`, `firma.Wydano`, `firma.Zal`, `firma.Wpłaty`, `firma.Cena kl`, `firma.Nr fak`, `firma.Cena RP`, `firma.Korekta RP`, `firma.Nr fak RP`, `firma.Data kompozycji`, `firma.Nr kompozycji`, `firma.Data przelewu`, `firma.SEDRE`, `firma.Trafic`, `firma.Akcja`, `firma.Data 10`, `firma.Data 32`, `firma.Data 45`, `firma.Kto`, `firma.Opcje`, `firma.ORDRE`, `firma.Od`, `firma.T_P`, `firma.Nr umkli`, `firma.Data F`, `firma.K1`, `firma.K2`, `Customers.Nazwisko`
FROM Customers RIGHT JOIN `firma` ON `Customers.NR`=`firma.NR`
WHERE (((`firma.Kto`) Is Not Null) And ((`firma.Data F`)>=#7/1/2003#));


Tu jest jeden z kilkudziesięciu selectów. Cały czas phpmyadmin wyrzuca błąd #1064. Co w tym jest nie tak? Próbowałem też okroić zapytanie z funkcji, w których są polskie znaki. Ciągle to samo.
Go to the top of the page
+Quote Post
Mchl
post
Post #16





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html

Ale an dobrzą sprawę nie widzę żadnych zarezerwowanych.
Gdzie dokłądnie się rzuca? (You have an error in your SQL syntax ... near (IMG:style_emoticons/default/questionmark.gif) )

Ten post edytował Mchl 10.12.2009, 20:49:56
Go to the top of the page
+Quote Post
gucio_zg
post
Post #17





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 9.10.2009
Skąd: zielona góra

Ostrzeżenie: (0%)
-----


1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 0, 30' at line 6

Ten post edytował gucio_zg 10.12.2009, 21:03:26
Go to the top of the page
+Quote Post
Mchl
post
Post #18





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


No a gdzie w tym zapytaniu jest LIMIT? Chyba phpMyAdmin coś Ci dokłada do zapytania, bo domyślnie właśnie po 30 rzędów stronnicuje.
Go to the top of the page
+Quote Post
gucio_zg
post
Post #19





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 9.10.2009
Skąd: zielona góra

Ostrzeżenie: (0%)
-----


odpowiedz phpmyadmin jest caly czas taka sama, bez względu czy dodam limit czy nie.
Go to the top of the page
+Quote Post
Mchl
post
Post #20





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


No właśnie. Wychodzi an to, że phpMyAdmin coś Ci miesza. Spróbuj to samo zapytanie jakimś innym narzędziem wykonać.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.09.2025 - 09:02