![]() |
![]() |
![]() ![]()
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? |
|
|
![]() |
![]()
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.
|
|
|
![]()
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 ?
|
|
|
![]()
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.
|
|
|
![]()
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 ? |
|
|
![]()
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 |
|
|
![]()
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.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
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)
|
|
|
![]()
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?
|
|
|
![]()
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 ? |
|
|
![]()
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ć. |
|
|
![]()
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 |
|
|
![]()
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
Nie mówiąc o tym, że trzeba by zmienne z $_POST najpierw dla bezpieczeństwa przepuścić przez mysql_real_escape_string |
|
|
![]()
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. |
|
|
![]()
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 |
|
|
![]()
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 |
|
|
![]()
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.
|
|
|
![]()
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.
|
|
|
![]()
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ć.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 09:02 |