Może zostaje zainstalwać sterownik ODBC + ADO - definiowanie źródła poprzez
wpisy w rejestr windowsa. To umiem. Pytam jednak czy jakiś inny sposób jest
prostszy i bardziej odpowiedni dla baz serwerowych.
> Pytam jednak czy jakiś inny
> sposób jest prostszy i bardziej odpowiedni dla baz serwerowych.
Nie ma bardziej "odpowiedniego" - najlepiej używać natywnych sterowników.
Co do podłączenia do MySQL, to nie mam bladego pojęcia. Do MSSQL-a -
podaję od ręki.
--
PaSkol
MS SQL też łączysz się przez dbExpress? Jeśli tak to pewnie będzie podobnie.
> MS SQL też łączysz się przez dbExpress? Jeśli tak to pewnie będzie
> podobnie.
Nie, przez ADO. Wypełniam poprawny ConnectionString i po sprawie.
Na marginesie, od 13:35 (Twój pierwszy post) to zdążyłbyś:
1. pobrać MSSQL Express R2 (z
http://www.microsoft.com/express/database/, po prawej stronie fioletowy
przycisk 32-bit),
2. zainstalować (z konta administratora), np. bezobsługowo jako
instancję nazwaną "PiotrSQL", poleceniem:
SQLEXPRWT_x86_ENU.exe /QS /ACTION=Install
/FEATURES=SQLENGINE,REPLICATION,SNAC_SDK /INSTANCENAME=PiotrSQL
/SECURITYMODE=SQL /SAPWD=Temp12#$ /ADDCURRENTUSERASSQLADMIN=True
/SQLSYSADMINACCOUNTS=BUILTIN\Administratorzy /SQLSVCACCOUNT="NT
AUTHORITY\SYSTEM" /SQLSVCSTARTUPTYPE=Automatic /NPENABLED=1
/TCPENABLED=1 /IAcceptSQLServerLicenseTerms=1
3. nawiązać połączenie
AdoConnection.ConnectionString := 'Provider=SQLOLEDB.1;Initial
Catalog=master;Data Source=PiotrSQL;User ID=sa;Password=Temp12#$';
lub
AdoConnection.ConnectionString := 'Provider=SQLOLEDB.1;Integrated
Security=SSPI;Initial Catalog=master;Data Source=PiotrSQL';
AdoConnection.Open;
4. zajmować się już innymi zagadnieniami.
--
PaSkol
Pewnie tak zrobię. Narazie zrobiłem już obsługę bazy na MySQL przez
dbExpress ale miałem problem połączyć się jak zainstalowałem bazę na innym
serwerze. Zmiana bazy przez usera wiąże się z ingerencją ze strony
administratora tego chciałem uniknąć ale chyba się nie da.
Zabawne, "ekspert" beż żenady przyznaję się, że nie ma pojęcia o alternatywnych
rozwiązaniach, ale jest święcie przekonany, że jedyne które zna jest "najlepsze"
;)))
Musisz poprawić kamuflaż, inaczej będziesz tylko bawił, zamiast być
wysłuchiwanym... ;)))
Pozdrawiam
PK
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
--
wloochacz
To co napisałem wcześniej tyczy się także ciebie. Podawałeś "recepty" dla MSSQL,
przyznając się wprost do całkowitej ignorancji w dziedzinie MySQL, dostarczasz
tylko rozrywki "ekspercie".
Dlatego zastosuj swoją diagnozę we własnym przypadku i wróć po udanej
resocjalizacji. Na razie nie ma o czym rozmawiać.
Ponawiam więc pytanie do ciebie tym razem, jak za pomocą ADO (ADOConnection)
z Delphi łączysz się z bazą na serwerze? Jakiego providera i jak budujesz
ConnectionString aby połączyć się z MySQL?
Piotr.
Szczekaj i ujadaj do woli, karawana i tak pójdzie dalej :>.
--
PaSkol
> 3. nawiązać połączenie
>
> AdoConnection.ConnectionString := 'Provider=SQLOLEDB.1;Initial
> Catalog=master;Data Source=PiotrSQL;User ID=sa;Password=Temp12#$';
>
> lub
>
> AdoConnection.ConnectionString := 'Provider=SQLOLEDB.1;Integrated
> Security=SSPI;Initial Catalog=master;Data Source=PiotrSQL';
Pierwsze połączenie jest nawiązywane poprzez autoryzację SQL, drugie
poprzez autoryzację Windows (przy założeniu, że użyto polecenia
instalacyjnego z punktu nr 2).
W obu powyższych wypadkach należy jeszcze poprzedzić nazwę instancji
PiotrSQL, nazwą serwera. Jeśli łączymy się z lokalnym serwerem - na tym
samym komputerze, to może to być "(local)\PiotrSQL", w przeciwnym
wypadku adres IP, albo nazwa komputera wg systemu Windows.
Bazą do której zostanie nawiązane połączenie jest systemowa baza
"master" (Initial Catalog). Bazę można zmienić wywołując polecenie "use
MojaBaza" lub wpisując jej nazwę bezpośrednio do łańcucha połączenia.
--
PaSkol
Prędzej możesz liczyć na szkorbut.
Jakich dostawców masz zainstalowanych? Powinni być dostępni z poziomu
komponentu TADOConnection, własność Provider.
Jeśli nic tam nie widać, to może spróbuj tego programu (choć korzysta on
z tych samych mechanizmów):
http://paskol.republika.pl/ADOExplorer.exe
to przeróbka przykładu dołączanego do którejś wersji Delphi. Ale masz
tam taką zakładkę jak "Connection", kliknij tam na przycisk [...].
Pojawi się kreator połączenia, wybierz "Use Connection String" i kliknij
przycisk "Build".
W pierwszej zakładce będą dostawcy, w drugiej - być może - uda się
wyświetlić dostępne serwery, dla każdego wybranego wcześniej dostawcy.
Nie wiem jak to jest w MySQL-u, w MSSQL-u serwery się rozgłaszają, więc
po prostu wybierasz je z listy.
Życzę szczęścia. Z pytań i problemów jakie się tu co jakiś czas
pojawiają wszyscy w końcu lądują w bagnie ZEOS-ów. Być może po prostu
przez ADO się nie da. Zwróć zresztą uwagę na to, co napisał wloochacz w
odpowiedzi do jcm w wątku "Baza dla początkującego", fragment "A nie
odrzuca Cię bałagan...".
--
PaSkol
To samo klikając na Connection w TADOConnection jest build connection.
Problem w tym że nie mam providera do MySQL, jest wiele innych do ORACLE, MS
SQL, oraz MSDASQL.1 - standardowy dla ODBC z którego używam do podłączenia
do MySQL ale to chyba nie najlepsze wyjście używać ODBC wolałbym coś
natywnego.
żeby korzystać z rozgłaszania MSSQL, usługa "SQL Server browser" musi
być włączona na komputerze na którym uruchamiasz ten program. To ona
odbiera i keszuje te rozgłoszenia.
Usługa jest instalowana domyślnie z każdym serwerem MSSQL, i [chyba] z
każdym pakietem narzędzi (MS SQL Server Management Studio)
--
Arivald
> To samo klikając na Connection w TADOConnection jest build connection.
> Problem w tym że nie mam providera do MySQL, jest wiele innych do
> ORACLE, MS SQL, oraz MSDASQL.1 - standardowy dla ODBC z którego używam
> do podłączenia do MySQL ale to chyba nie najlepsze wyjście używać ODBC
> wolałbym coś natywnego.
Zaglądałeś tu?
http://delphi.about.com/od/mysql/qt/mysqladoconn.htm
--
PaSkol
Teraz tak. Z tego wynika że tylko ODBC. Dzięki!
> Teraz tak. Z tego wynika że tylko ODBC. Dzięki!
Z tego może i wynika, ale za pomocą ADO możesz łączyć się jeszcze z
wykorzystaniem OLEDB.
Trzeba tylko znaleźć odpowiedni OLE DB Provider for MySQL:
http://sourceforge.net/projects/myoledb/
https://cherrycitysoftware.com/CCS/Providers/ProvMySQL.aspx
--
wloochacz
Dzięki! Sprawidziłem - CherryCity jest płatny (darmowy tylko z kodem dla
danego komputera)
Z SourceForge jest darmowy ale GPL - generalnie czy to znaczy że jak go
użyję to nie mogę sprzedać mojej aplikacji? Nie modyfikuję go przecież i nie
sprzedaję jako swojego tylko używam w mojej aplikacji jako providera do
MySQL.
To zdaje się ze jeszcze będziesz musiał dokupić odpowiednie licencje na
MySQL dla każdego z klientów którym dostarczysz aplikację.
miab
> To zdaje się ze jeszcze będziesz musiał dokupić odpowiednie licencje na
> MySQL dla każdego z klientów którym dostarczysz aplikację.
Nie "zdaje się" ale na pewno :-) MySQL *nie jest* darmowy, jest tylko
dostępny na licencji GPL o ile oprogramowanie z niego korzystające
również jest dostępne na takiej samej licencji. Na naszej grupie to
chyba rzadkość... ;-)
--
Pozdrawiam,
Sebcio
W takim razie wszystkie serwisy internetowe ( sklepy itp) oparte na bazie
Mysql też są pisane przez wolontariuszy?
Dlaczego zaraz woluntariuszy?
Pisać można sobie wszystko(na razie) z dystrybucją już trochę gorzej.
Dystrybutorzy mogą być GPL-owi lub płacący za za MySQL lub złodzieje.
miab
GPL nie zakłada darmowości oprogramowania. GPL zakłada wolność
oprogramowania. Wolność, czyli ze musisz udostępnić źródła do programu.
--
Arivald
ZTCP licencja trochę inaczej traktuje MySQL w zastosowaniach WWW, a
inaczej dla aplikacji desktopowych.
jahu
> ZTCP licencja trochę inaczej traktuje MySQL w zastosowaniach WWW, a
> inaczej dla aplikacji desktopowych.
Nie ma takiego rozróżnienia. Poza tym, co warto zapamiętać, MySQL użyty
do napędzenia komercyjnego forum opartego o niezmieniony PHPbb może być
używany bezpłatnie. Ten sam MySQL użyty do napędzenia niekomercyjnego
serwisu WWW, stworzonego na własne potrzeby przez jakiegoś pasjonata i
nie udostępnionego na licencji GPL, będzie wymagał wykupienia licencji
komercyjnej.
--
Pozdrawiam,
Sebcio