AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Problem mit Connection String
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Connection String

Offene Frage von "Jack23"
Ein Thema von Jack23 · begonnen am 9. Okt 2007 · letzter Beitrag vom 9. Okt 2007
Antwort Antwort
Seite 1 von 2  1 2      
Jack23

Registriert seit: 20. Sep 2007
215 Beiträge
 
#1

Problem mit Connection String

  Alt 9. Okt 2007, 15:17
Datenbank: Access • Version: 2003 • Zugriff über: ADO
Hallo,

ich habe ein kleines Problem mit einem Connection String.

Wie bekomme ich folgendes zum laufen?

Delphi-Quellcode:
ADOConnection1.Provider := 'Microsoft.Jet.OLEDB.4.0';
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='ExtractFilePath(ParamStr(0))+'abc.mdb'
ADOConnection1.Connected := TRUE;
ADOConnection1.Open;
edit:

Ok eigentlich läuft nur diese Zeile nicht:

ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='ExtractFilePath(ParamStr(0))+'abc.mdb'
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Problem mit Connection String

  Alt 9. Okt 2007, 15:31
Hi,

"laufen" ist vielleicht das falsche Wort - so dürfte das nicht mal übersetzt werden. Vor dem Aufruf der Funktion ExtractFilePath() fehlt ein Plus-Zeichen, damit die Strings verkettet werden.

Grüße vom marabu
  Mit Zitat antworten Zitat
Jack23

Registriert seit: 20. Sep 2007
215 Beiträge
 
#3

Re: Problem mit Connection String

  Alt 9. Okt 2007, 15:41
Das Plus war es. Danke. Wenn ich das Programm starte bekomme ich aber immer die Meldung:

Fehler bei der Authentifizierung.

Woran kann das liegen?

Ich habe ein DatenModul da ist folgender Code drin.

Delphi-Quellcode:
.....

function Connection: Boolean;

.....

function TDataModul.Connection: Boolean;
begin
ADOConnection1.Provider := 'Microsoft.Jet.OLEDB.4.0';
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+ExtractFilePath(ParamStr(0))+'abc.mdb';
AdOConnection1.Connected := TRUE;
AdOConnection1.Open;
end;
Und dann habe ich ein ein normales TForm wo oben unter uses das DatenModul eingebunden ist.

Was fehlt denn da noch?
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Problem mit Connection String

  Alt 9. Okt 2007, 15:44
Ich erinnere mich dunkel, dass eine der letzten beiden Zeilen zu viel sein könnte.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Problem mit Connection String

  Alt 9. Okt 2007, 15:48
Lies dir zum Thema Authentifizierung mal diesen Thread durch: anmeldung an access mit ado datenverknuefungseigenschaften
  Mit Zitat antworten Zitat
Jack23

Registriert seit: 20. Sep 2007
215 Beiträge
 
#6

Re: Problem mit Connection String

  Alt 9. Okt 2007, 15:59
Gelesen. Ich habe aber weder Benutzernamen noch ein Passwort.

Wie soll mir das weiterhelfen?

Oder meinst du ich User ID=Admin weglassen? habe ich auch schon Probiert. Leider kein erfolg.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Problem mit Connection String

  Alt 9. Okt 2007, 16:07
Zitat von marabu:
... einen Benutzer gibst du nur dann an, wenn du eine Arbeitsgruppendatei erzeugt hast ...
Natürlich sollst du "USER ID=Admin" weglassen - oder existiert eine Arbeitsgruppendatei?

Wenn du das schon probiert hast und es kommt immernoch ein Authentifizierungsfehler, dann scheint eine solche Datei zu existieren. Du benötigst dann die entsprechenden Credentials. In dem anderen Thread ist auch beschrieben, wie du die eingeben kannst.
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Problem mit Connection String

  Alt 9. Okt 2007, 16:12
Er meint sicher das da:
Zitat von marabu:
Einen Benutzer gibst du nur dann an, wenn du eine Arbeitsgruppendatei erzeugt hast. Ansonsten gibst du beim Verbindungsassistenten keinen Benutzer und kein Kennwort an. Auf der letzten Seite des Assistenten kannst du dann den Parameter "Jet OLEDB: Database Password" setzen.

Bei sowas hilft auch einfach eine Datenverknüpfungsdatei erzeugen:
Neue Datei erstellen, Datei umbenenen mit der Extension "udl".

Diese Datei dann einfach Doppelklicken und alles einstellen, wenn das fertig ist, steht der Connection-String dann in der Datei! (Wenn das Passwort gespeichert werden soll, den Hacken Speichern des Kennwortes zulassen aktivieren)

Für den Source sind da auch diese Funktionen interessant:
Delphi-Quellcode:
unit ADODB;

{ [...] }

{ Global Functions }
function PromptDataSource(ParentHandle: THandle; InitialString: WideString): WideString;
function PromptDataLinkFile(ParentHandle: THandle; InitialFile: WideString): WideString;

{ [...] }
Da kannst du zur laufzeit den Assistenten aufrufen und bekommst deinen Connection String zurück

Bye Christian
Christian
  Mit Zitat antworten Zitat
Jack23

Registriert seit: 20. Sep 2007
215 Beiträge
 
#9

Re: Problem mit Connection String

  Alt 9. Okt 2007, 16:13
Nein der Name existiert.

Aber warum geht es dann nicht?

Ich möchte auch keinen Assistenten mehr. Ich möchte das , dass alles automaisch beim Start des Programms eingestellt wird.

Es geht ja eigentlich nur darum das der DB Pfad immer der gleiche ist wie der Pfad der exe.
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Problem mit Connection String

  Alt 9. Okt 2007, 16:20
Zitat von Jack23:
Ich möchte auch keinen Assistenten mehr. Ich möchte das , dass alles automaisch beim Start des Programms eingestellt wird.
Der Assistent erstellt dir aber genau das was du brauchst, genau das schreibst du in den Connection String... (War ja nur als hilfe gedacht, wenn sich der Assistent verbinden kann. Dann passt was bei dir nicht!

Du brauchst dann ja nur noch den Dateiteil aus dem Connection-String tauschen. fertig...

Der Connection-String der der Assistent erzeugt ist vollständig, der im der ADOConnection ist schon zerlegt (Provider, Username, Passwort & Parameter, also nicht mehr vollständig wie er sein müste!)

bye Christian
Christian
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz