Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MySQL- MSSQL - kto ma jakieś doświadczenia ?
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
Brick
Witam !
Czy ktoś ma jakieś większe doświadczenia z MSSQL ?
Do tej pory cały czas pracowałem na PHP + MySQL. Teraz mam do zrobienia projekt, który musi być zrealizowany na MS Windows Serwer 2003 (SP2) wraz z bazą danych MSSQL (8.0)

1. Na serwerze jest tylko jeden program który służy do zarządzania bazą - Dba Mgr2k. Dość prymitywny i nie wygodny program, zawierający tylko podstawowe opcje. Czy jakieś inne, dobre programy są tylko w wersji płatnej ?
Próbowałem uruchomić coś takiego jak PhpMSAdmin ale porażka zupełna.

2. Czy duże są różnice w składni SQL ?
Ledwie zacząłem testować i co chwilę błąd. Weźmy nawet zwykłe
CREATE TABLE test (
pole1 VARCHAR (30) default '' ,
pole2 int(10) NOT NULL default '0'
)
i jest błąd "Cannot specify a column width on data type int.

3. Czy duże różnice są w zachowaniu PHP z taką bazą danych ?
Próbowałem zrobić mssql_list_dbs, mssql_list_fields i okazuje się że nie ma takich funkcji.

dzięki z góry
webdice
Tu masz spis funkcji, a manuala MSSQL w google.
asz
Cytat(Brick @ 17.01.2008, 22:36:22 ) *
Czy duże są różnice w składni SQL ?
Ledwie zacząłem testować i co chwilę błąd. Weźmy nawet zwykłe
CREATE TABLE test (
pole1 VARCHAR (30) default '' ,
pole2 int(10) NOT NULL default '0'
)
i jest błąd "Cannot specify a column width on data type int.


Witaj.

Co do różnic pomiędzy MySQL 4/5 a MS SQL Server 2000/2005 to trochę ich jest. Niestety. Bazy te różnia się nie tylko składnią...

Powyższy błąd, który dostałeś ("Cannot specify a column width on data type int") wynika z tego, że w MS SQL Server, jak tworzysz tabelę, nie możesz podawać długości pola tj. int(10)! Powinno by po prostu int :-)

Jeżeli masz strukturę bazy w pliku .sql, które pochodzi z MySQL-a i zechcesz jej używać w MS SQL Server to przygotuj się na mnóstwo błędów. Zanim jej użyjesz muisisz troszkę pozmieniać w jej strukturze...

Długo by tu pisać. Powiem Ci, że na ten temat postanowiłem napisać... książkę. Wyda ją Helion za kilka miesięcy. Zachęcam do kupna:-). Generalnie bedzie ona o PHP, IIS 6/7 i bazach MS SQL Server 2000/2005. Wszystko na przykładach Windows Server 2003 Ent. Edition, Vista... ale nie tylko :-)
Brick
Dzięki za odpowiedź.
Spis funkcji przejrzałem i trochę brakuje w stosunku do MySQL
Czyli wygląda na to że lekko nie będzie, zwłaszcza że wszystko mam pisane pod MySQL.
Jeżeli piszesz książkę, to faktycznie masz bogatą wiedzę na ten temat, gratuluję !
Ja niestety nie mogę sobie pozwolić na zgłębianie nowego zagadnienia i przerabianie dużej ilości skryptów ze względu na jednego klienta. Zbyt dużo czasu by to zajęło, a klienci non stop poganiają ;)
Trzeba będzie odpuścić to zlecenie.

Dziękuję jeszcze raz
webdice
Poczytaj o PDO, może ułatwi Ci prace.
asz
Cytat(Brick @ 18.01.2008, 15:37:58 ) *
Jeżeli piszesz książkę, to faktycznie masz bogatą wiedzę na ten temat, gratuluję !


Dziękuję. Staram się :-) Generalnie to życie mnie do tego trochę zmusiło :-) Od lutego siadam do pisania wielkiej i rozbudowanej aplikacji opartej na PHP5, IIS 6 i MS SQL 2005 (wszystko pracować będzie pod Windows Server 2003)... Zastanawiam się nad wrzuceniem do tego SMARTY. Skorzystam też pewnie z PEAR DB, gdyż fima ma nie tylko MS SQL ale i Oracle'a. Nigdy nie wiadomo, co przyjdzie im do głowy:-)

Co do Twojego projektu to myślę, że powinieneś swoją bazę danych wyeksportować do jakiegoś pliku, przejrzeć i poprawić, tak by MS SQL Server ją mógł strawić. Problem może być nie tylko ze strukturą bazy ale i z danymi z poszczególnych tabel. Ja przenosiłem niezbyt dużą bazę z MySQL-a na MS SQL Server-a i troszkę było kombinowania. Najpierw z samą strukturą a potem z danymi. Na szczęści pomógł mi w tym... notatnik Windows-a :-) Nie sądziłem, że może być tak przydatny...

P.S. Jak byś miał jakieś pytania to wal śmiało. W wolnej chwili może i będę mógł pomóc.
Brick
Problem nie tylko polega zaimportowaniu plików sql z bazy MySQL, ale też na tym, że mam bardzo dużo różnych skryptów PHP pracujących na tych tabelach. Zatem czekało by mnie gruntowne przerabianie wszystkich zapytań znajdujących się w skryptach (+ walka z nawykami przy pisaniu nowych skryptów)

Brakuje też programu do zarządzania tą bazą.
asz
Cytat(Brick @ 18.01.2008, 22:59:34 ) *
Problem nie tylko polega zaimportowaniu plików sql z bazy MySQL, ale też na tym, że mam bardzo dużo różnych skryptów PHP pracujących na tych tabelach. Zatem czekało by mnie gruntowne przerabianie wszystkich zapytań znajdujących się w skryptach (+ walka z nawykami przy pisaniu nowych skryptów)

Brakuje też programu do zarządzania tą bazą.


No to Ci nie zazdroszczę. Dosyć, że bazę trzeba byłoby przerobić, to jeszcze problem z wczytaniem danych i poprawienie skryptów. Zrobić się da, ale jakim kosztem. Decyzję musisz Ty sam podjąć. Jak pisałem z mniejszymi bazami nie ma większego problemu.

P.S. Co do gruntownego przerabiania skryptów PHP to warto pomyśleć na przyszłość do module PEAR DB zamiast używania w skryptach funkcji do obsługi poszczególnych baz danych. Warto też pomyśleć o jakimś globalnym skrypcie, gdzie te ustawienia byłyby dostępne. Jest wiele możwliwości...:-)

Pozdrawiam,
Andrzej
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.