Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Access - MySQL
sm76
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 16.04.2005

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


Cześć : )
mam problem mianowicie połączyłem mysql z accesem i jak pobieram dane z tabel z mysql do accesa to polskie znaki szlak trafia
tak samo sie dzieje jak wprowadzam "śźć" do bazy przez accesa to potem w monitorze mysql są "?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) "

1 co począć?
2 czy aby to problem z ODBC ?
3 jak ustawić kodowanie - "latin2" w accesie?
4. można stworzyć relacje na tabelach z Mysql (tabele zewnetrzne przez ODBC) tak aby wyświetliło sie 1 do wielu w accesie - normalnie (sam access) jest ok ale z tabelami zewnętrznymi (mysql) jest coś nietak ? czy też na powiązanych jest to niemożliwe - jak wtedy ustawić relacje?

5. istnieje ksiązka które podobne problemy wyjaśnia ? problemy powiązania Accesa z Mysql'em.

Ten post edytował sm76 16.04.2005, 13:56:56
Go to the top of the page
+Quote Post
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Wydaje mi sie ze powinienes konwertowac na kodowanie windows zamin zapiszesz do ACCESSA


Nie bardzo zrozumialem chesz zrobic relacje miedzy 2 innymi bazami danych?

Ten post edytował SongoQ 16.04.2005, 14:26:51
Go to the top of the page
+Quote Post
sm76
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 16.04.2005

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


mógłbyś powiedzieć coś wiecej na temat konwertowania na kodowanie windows?
dlaczego i jak to zrobić?

chciałbym ustawić relacje tak jak ustawia sie relacje na tabelach accessa, żeby niebyło problemów z np. stworzeniem formularza dla bazy
jestem na etapie relacji łączących poszczególne tabele a niepotrafie ustawić typów powiązań (w moim przypadku 1 do wielu) w przypadku samego accessa jest to banalne natomiast przy tabelach połączonych (tabele są na MySQL'u połączone przez ODBC) robi sie problem - jeżeli jest taka możliwość to jak ustawić typy powiązań na tabelach połączonych.

pozdrawiam,
Go to the top of the page
+Quote Post
SongoQ
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Jesli chodzi o relacje w MySQLu to sie na podobnej zasadzie robi. Zakladasz index i typ tabeli jako INNODB. Potem w widoku relacji laczysz, czyli podajesz co jest kluczem obcym a co podstawowym. Jeslo chodzi o relacje miedzy 2 bazami danych to nie ma takiej mozliwosci. Musisz albo zrobic sobie zrzut sqla z accessa i potem odpalic na MySQLu lub jechac rekord po rekordzie, polecam to 1 opcje.

Co do konwertowania to sa gotowe funkcje z windowsa na iso.

Pytanie czy te dane beda caly czas zrzucene? (replikowane) na bazach czy ma byc 1 rozowo?

Szybszy mechaniz jaki ja stosowalem bylo poprostu zrzucenie do pliku tekstowego zapisanych danych z accessa.
Go to the top of the page
+Quote Post
sm76
post
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 16.04.2005

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


te dane bedą aktualizowane, i zrzucane (nie czesto ale bedą) nie jedno razowo

jeżeli bym stworzył relacje na MySQL'u i potem połączył sie z Accessem to relacje były by ustawione ? czy typy tych relacji też ? jest taka możliwość?
głównym problemem jest ustawienie typu relacji, bo samą relacje utworzyłem na accesie który działał na tabelach z Mysql'a.

niemoge wybrać opcji zrzucenia do mysqla bo "trzeba" zrobić interfejs w Accesie baza w mysql'u - dane pobierane z mysql przez php na strone www.
pewnie łatwiej by było zrobić inną droga nie taką zakręconą (czyli naprzykład sam mysql, interfejs w php i wyrzycić na stronke dane ;albo w samym accesie i pobrać przez php na stronke)
troche droga przez "rospalone węgle" ale chciałbym sobie z tym poradzić.

mógłbyś powiedzieć coś wiecej o konwertowaniu (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)
Go to the top of the page
+Quote Post
SongoQ
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Odnosnie relacji: Rejacje w MySQLu mozna zrobic dokladnie takie same jak w Accessie, gorzej jest z typami ale jak dobrze pokombunujesz to sie uda.

Jak czesto bedziesz dane zrzucal i czy to ma byc uatomatycznie, czy np odpalasz jakis sktypcic, czy jeszcze inaczej - wchodzisz do accessa i tam zrzucasz. Napisz dokladnie jak ma wygladac przebieg aktualizacji baz.

Jesli chodzi o accessa to robilem takie cos ze w accesie zrzucalem sobie bazke do pliku txt nastepnie na pliczek na serwer i tam odpalalem aplikacje ktoara mi aktualizowala dane. Mechanizm szybki do zaimpementowania i skuteczny.

W Twoim przypadku najlepiej by bylo jesli z aplikacji w php wysylasz plik accesa i wtedy sam php wyciaga sobie rekordy z accessa i aktualizuje mysqla.
Go to the top of the page
+Quote Post
sm76
post
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 16.04.2005

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


Czesc
Napisałem zrzucał w sęsie automatycznym
Nic niebede zrzuciał wszystko bedzie sie odbywało automatycznie za pomocą php na stronke
dane bedą wprowadzane do bazy za pomocą php (prosty interfejs w php) globalnie natomiast lokalny dostęp bedzie z poziomu Ms Accessa
Wszystko bedzie (wszystkie dane) tylko w jednej bazie danych - MySQL i jedynie w niej (acces jako interfejs jedynie)

napisz mi cos wiecej o kodowaniu
co z tymi czcionkami dlaczego nie wyświetla access danych z mysql'a z polskimi znakami (mimo że jest w mysql'u wszystko wporządku - latin2 ustawione).
Go to the top of the page
+Quote Post
SongoQ
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


A dla kodowania Windows-1250 masz ok?
Go to the top of the page
+Quote Post
sm76
post
Post #9





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 16.04.2005

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


szczerze m?wiąc to niewiem co i jak
rozumiem, ?e masz na my?li Accessa (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)
jakby? m?g? to wyt?umacz jak dla s?abiej rozumiej?cego (IMG:http://forum.php.pl/style_emoticons/default/aarambo.gif)
pozdrawiam,

---
żźćńąśłęó
Go to the top of the page
+Quote Post
SongoQ
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


W bazie Access masz ustawione windows, wiec jak checsz zapisywac do MySQLa to albo konwertuj albo zapisuj w takim kodowaniu.
Go to the top of the page
+Quote Post
sm76
post
Post #11





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 16.04.2005

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


no wporządku

tylko powiedz mi jak konwertować bo niemam pojęcia
Go to the top of the page
+Quote Post
SongoQ
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


http://php5.pl/php/konwersja_systemu_kodow..._win1250_i_utf8
Go to the top of the page
+Quote Post
sm76
post
Post #13





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 16.04.2005

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


(IMG:http://forum.php.pl/style_emoticons/default/aarambo.gif) czesc ponownie

niesmiało chciałbym jeszcze pomeczyć temat accessa + odbc + mysql
bo mam problem w miejscu accesa
to wygląda tak:
dane w mysql'u są w latin2 z polskimi znakami i bezpośrednio jest wszystko wporządku natomiast jeśli te dane wyświetlam w accesie to dane są w miejscu znaków żźćśóęł (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ó?? i podobno jeśli jest ó poprawnie wyświetlane to znaczy, że jest coś z kodowaniem w accesie może z windows
niedokońca wiem jak działa odbc ale wydaje mi sie, że on nie wprowadza zamieszania
wiec access tylko co w nim ustawić przełączyć gdzie puknąć ?

dzieki serdeczne,
Go to the top of the page
+Quote Post
PiotrMalek
post
Post #14





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 13.06.2007

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


Ja używam kodowania utf8 (mysql) i w accesie nie mam problemów z wyświetlaniem

Jeżeli masz problemy z polskimi znakami to sprawdz jakie masz ustawienie w windowsie (opcje regionalne i językowe ) - jaki jezyk jest tam ustawiony np dla programów nie obsługujących UNICODE (a takim jest access żeby było śmieszniej)

Pozdrawiam
Go to the top of the page
+Quote Post
Fixer
post
Post #15





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 24.10.2004
Skąd: TG

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


Przecież wystarczy w ODBC w connectorze mysql na drugiej zakładce (zaraz za tą gdzie wpisujesz login, hasło i nazwę bazy) wybrać z listy rodzaj kodowania jakie masz w mysql ustawione, do wyboru masz utf8, lain2, windows 1250 i masę innych (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Jeśli nie masz tej zakładki zaakualizuj connectora mysql
Go to the top of the page
+Quote Post
Pilsener
post
Post #16





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Cytat(SongoQ @ 17.04.2005, 16:06:04 ) *
...wysylasz plik accesa i wtedy sam php wyciaga sobie rekordy z accessa i aktualizuje mysqla.
- da radę odczytywać jakoś pliki .mdb z tabelami access w php? Mam poważny problem - napisałem prosty skrypt aktualizujący pliki z danymi, ale dane dostaję w .mdb, a bazę mam w mysql - tabel jest wiele a dane przychodzą codziennie, więc odpadłoby mi dużo pracy.
Go to the top of the page
+Quote Post
SongoQ
post
Post #17





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Wykorzystaj np PDO przyklad dsn masz na http://pl2.php.net/manual/pl/ref.pdo-odbc.connection.php
Go to the top of the page
+Quote Post
Pilsener
post
Post #18





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Wielkie dzięki! Samemu bym tak szybko nie wpadł na PDO, powaliło mnie prostotą:
  1. <?php
  2. $dsn = "odbc:Driver={Driver do Microsoft Access (*.mdb)};Dbq=C:wyniki.mdb;Uid=Admin";
  3. $pdo = new PDO( $dsn );
  4. $sql = "select `id`,`nazwa` from `tabela`";
  5. foreach($pdo->query($sql) AS $row){
  6.   echo 'ID: '.$row['id'].' Nazwa: '.$row['nazwa'].'<br />';
  7. }
  8. ?>

Trzeba tylko pamiętać o php.ini:
Kod
extension=php_pdo.dll
extension=php_pdo_odbc.dll

Niby prosta rzecz a cieszy (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)
Go to the top of the page
+Quote Post
SongoQ
post
Post #19





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Kwestia tylko wyszukania w manualu. Ciesze sie ze sie udalo.
Go to the top of the page
+Quote Post

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: 22.08.2025 - 19:08