Toon posts:

[Delphi/MSSQL] ODBC-koppeling of ADO

Pagina: 1
Acties:
  • 117 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik mot een Deebeesje aanleggen in MSSQL en met Delphi leuke dingen gaan doen. MSSQL, leuk, databaseje erin, is gepiept, niet moeilijk :). Delphi, user-interface-je maken, ook leuk, niet moeilijk :). Koppelingetje maken in Delphi naar DB. Niet moeilijk, doen we even :). Klik klik "Geef user/password" (Delphi). Huh? :? Ik had helemaal geen user/passw opgegeven in MSSQL. Hoe doe ik die koppeling nou? :( Met ODBC wezen kloten, peilen in de help, User-gebeuren gechekt. Niets kunnen vinden. Naar de kroeg dus. Hoor ik daar leuke dingen over ADO. Dat schijnt beter te zijn. Maar dan heb ik helemaal een probleem;

1.Hoe de *** kom ik bij mijn DB in MSSQL vanuit Delphi? (jaja, zo newbie question dat ie niet eens voorkomt in de search)
2. Is ADO niet leuker/beter/sneller? En zo ja, wat is daar dan het voordeel van?

Help! Gotta figure this out before Friday!

Verwijderd

Topicstarter
Tweakers nog niet wakker/Nog aan het werk?

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

...Ik had helemaal geen user/passw opgegeven in MSSQL...
da's knap, je zal toch altijd moeten aanloggen om in SQL Server te komen (misschien dat je het niet merkt als je de EM opstart, maar je logt wel degelijk in).

Anyway, je moet een loginaccount aanmaken op de server, deze toegang tot de database geven en de juiste rechten geven ("GRANT blabla..", een database role of een application role). Hoe dat allemaal moet staat haarfijn uitgelegd in de Books Online van MSSQL.
Daarna kan je via je klikkerdeklik-wizardje van Delphi de koppeling maken. Als het via ODBC moet dan natuurlijk eerst even een ODBC koppeling aanmaken.

Hoe je handmatig een koppeling aanmaakt kan ik je niet vertellen, ik weet niets van Delphi. Maar een DSN-less connectionstring ziet er bijv. zo uit:

"Provider=SQLOLEDB.1;Server=SERVERNAAM;Database=DBNAAM;Uid=LOGINNAAM;Pwd=PASSWORD"

HTH.

Today's subliminal thought is:


  • Onno
  • Registratie: Juni 1999
  • Niet online
En ADO componenten vind je in Delphi onder het tabblaadje 'ADO'. :)

(maar BDE moet ook gewoon werken)

(en ODBC of ADO is geen keus, ADO en BDE hebben allebei zowel native als ODBC drivers, dus je kiest of tussen BDE en ADO of tussen native drivers daarvoor en de ODBC variant :P)

  • Elissen
  • Registratie: Januari 2000
  • Laatst online: 27-07 15:54
Je moet ff kijken of je DB-component geen property "LoginPrompt" heeft oid. Bij ADO staat dat standaard aan en krijg je dus zo'n login.

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Op dinsdag 03 juli 2001 13:54 schreef Elissen het volgende:
Je moet ff kijken of je DB-component geen property "LoginPrompt" heeft oid. Bij ADO staat dat standaard aan en krijg je dus zo'n login.
Volgens mij (zoals hierboven staat) moet je altijd inloggen op zo'n server. Het is niet een file ofzo.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Onno
  • Registratie: Juni 1999
  • Niet online
Op dinsdag 03 juli 2001 14:21 schreef jelmervos het volgende:

[..]

Volgens mij (zoals hierboven staat) moet je altijd inloggen op zo'n server. Het is niet een file ofzo.
Jawel, maar het kan met of zonder popupbox. Login/pwd kun je ook gewoon via de connect string meegeven. :)

  • joepP
  • Registratie: Juni 1999
  • Niet online
Je hebt in Delphi eigenlijk 4 opties:

BDE
Waardeloos als je je programma wilt verspreiden. De BDE moet dan steeds overal geinstalleerd worden, ik kan je verzekeren dat je dat niet wilt.

Native Drivers
Als je ooit nog eens wilt overstappen naar een andere DB kan je je code gaan herschrijven. Ook dit wil je niet. Plus dat je afhankelijk bent van commerciele componenten, en als daar een bug in zit ben je zuur ;)

ODBC
Native ODBC in Delphi moet je met speciale (commerciele) componenten doen, anders wordt je gek. Bijvoorbeeld de ODBCExpress van Korbitech. Wederom: als hier bugs in zitten ben je de lul. Verder is ODBC nou niet bepaald heel erg eenvoudig in gebruik.

ADO
Meest recent. COM-based, dus lekker OO je DB benaderen, veeeeeeeel documentatie te vinden, heel makkelijk te leren, werkt exact hetzelfde in ASP, C++, VB.

Met andere woorden: ik zal voor ADO gaan als ik jouw was :)

  • Ro_meo
  • Registratie: Juni 2001
  • Laatst online: 24-08 20:19
mocht je om in mssql server nog steeds een requester tegenkomen probeer dan de supergeheime account "sa" met als password "" (nix,nakko,leeg)

ms sql server (alias sukkelserver) gebruikt dat account sa (welke default een leeg pw heeft) om beheertaken uit te voeren. Als je dan dus een of ander ms sql server ding op start dan heeft ie al stiekem via dit account geprobeerd om in te loggen.

Jouw delphi-gebeuren moet 't dus nog expliciet opgeven.

Beter is om een user aan te maken. Stop 'm in een groep. En geef aan die groep bepaalde rechten (lees, wijzig etc)

iOS N3rd


Verwijderd

davar schreef op 04 juli 2001 @ 11:54:
mocht je om in mssql server nog steeds een requester tegenkomen probeer dan de supergeheime account "sa" met als password "" (nix,nakko,leeg)

ms sql server (alias sukkelserver) gebruikt dat account sa (welke default een leeg pw heeft) om beheertaken uit te voeren. Als je dan dus een of ander ms sql server ding op start dan heeft ie al stiekem via dit account geprobeerd om in te loggen.

Jouw delphi-gebeuren moet 't dus nog expliciet opgeven.

Beter is om een user aan te maken. Stop 'm in een groep. En geef aan die groep bepaalde rechten (lees, wijzig etc)
aanvulling: en de beheerder van die server een schop onder zijn kloten geven en zelf het sa-account een degelijk wachtwoord te geven.

Reactie: ADO is de beste keuze om te gebruiken. Wanneer je van SP's gebruik maakt moet je wel minimaal ADO 2.6 hebben op de clients want anders werkt de parameter.refresh niet.
Overigens is de alias zoals hierboven opgegeven een dooddoener van de eerste orde en geeft het alleen maar aan dat Davar niet zo goed met mssql om kan gaan.

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:20
Verwijderd schreef op 30 January 2003 @ 15:04:
[...]


aanvulling: en de beheerder van die server een schop onder zijn kloten geven en zelf het sa-account een degelijk wachtwoord te geven.

Reactie: ADO is de beste keuze om te gebruiken. Wanneer je van SP's gebruik maakt moet je wel minimaal ADO 2.6 hebben op de clients want anders werkt de parameter.refresh niet.
Overigens is de alias zoals hierboven opgegeven een dooddoener van de eerste orde en geeft het alleen maar aan dat Davar niet zo goed met mssql om kan gaan.


Tja, een beetje onzinnig misschien om een topic dat 1.5 jaar oud is omhoog te schoppen.
Trouwens, om met SQL Server te connecten vanuit Delphi kan je beter dbExpress gebruiken.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.