Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Word ODC Datenquelle OHNE Passwortabfrage einstellen (https://www.delphipraxis.net/136001-word-odc-datenquelle-ohne-passwortabfrage-einstellen.html)

Overclocker 21. Jun 2009 23:13

Datenbank: SQL Server 2005 • Zugriff über: ODBC

Word ODC Datenquelle OHNE Passwortabfrage einstellen
 
Hi,

folgendes Problem:
Ich möchte für meinen Serienbrief eine SQL Datenbank nutzen. Dazu habe ich folgende Datei erstellt:
Delphi-Quellcode:
quelle := 'C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Eigene Datenquellen\Tabelle Profil.odc';
Diese ODC Datei stellt eine Verbindung zum SQL Server und der Tabelle "Profil" her.

So öffne ich die Datenquelle:
Delphi-Quellcode:
Word.ActiveDocument.MailMerge.OpenDataSource(quelle,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=User;Password=123;Initial Catalog=MeineDatenbank;Data Source=NOTEBOOK\SQLEXPRESS',SQLStatement:=SQL1, SQLStatement1:=SQL2);
[delphi]


So, wenn ich jetzt das ganze ausführe, kommen in Word Fenster, in denen ich mein Passwort für den User eingeben muss. Vermutlich liegt dies noch an der ODC Datei, da hier ja kein Passwort hinterlegt ist. Wie kann ich das Passwort für die ODC Datei mitgeben, damit der User kein Passwort eingeben muss?

Jemand eine idee?

Dankeschön

omata 22. Jun 2009 00:41

Re: Word ODC Datenquelle mit Passwortabfrage
 
Ich habe bis jetzt immer mit der MS-Query solche Abfragen bearbeitet und dort kann man dqy-Dateien erstellen.

Die Anmeldung sollte über die Windows-Authentifikation realisiert werden, damit eben einfach der angemeldete Benutzer automatisch über seine Rechte verfügt (auch in der Datenbank).

Wie sehen deine ODBC-Einstellungen aus?
Wie sieht diese ODC-Datei aus?

Eine dqy-Datei sieht so aus...
Code:
XLODBC
1
DSN=ODBCName;UID=omata;APP=Microsoft® Query;WSID=BENUTZER;DATABASE=MeineDatenbank;LANGUAGE=Deutsch;Trusted_Connection=Yes
SELECT * FROM tabelle


Spalte1<tab>Spalte2<tab>Spalte3

Overclocker 22. Jun 2009 00:50

Re: Word ODC Datenquelle mit Passwortabfrage
 
Ne also trusted connection mache ich nicht,da die berechtigungen alle im programm realisiert werden

Kann man so ein ms query auch als datasource fuer mailmerge hernehmen?muss ich mal probieren danke

omata 22. Jun 2009 00:53

Re: Word ODC Datenquelle mit Passwortabfrage
 
Zitat:

Zitat von Overclocker
Kann man so ein ms query auch als datasource fuer mailmerge hernehmen?

Ja das kann man.
Da kann man Word öffnen lassen und erhält die möglichen Datenbankfelder in der Symbolleiste zum auswählen. Da kann dann jeder Nutzer schnell mal seinen Serienbrief "zusammenklicken".

Overclocker 22. Jun 2009 12:22

Re: Word ODC Datenquelle mit Passwortabfrage
 
Hi,

also das mit der Query datei funktioniert zwar auch, allerdings bringt es mir leider nichts, da hier wieder ein Fenster aufpoppt in dem ich das Passwort eingeben muss.
Und wenn ich das Passwort in der Query datei manuell hinterlege (mit dem editor bearbeiten), dann könnte theoretisch jeder wieder das Passwort im klartext lesen und das möchte ich nicht.

gibt es denn keine alternative :(?

omata 22. Jun 2009 23:37

Re: Word ODC Datenquelle OHNE Passwortabfrage einstellen
 
Hier ein neuer Vorschlag, der bei mir keinerlei Fenster öffnet (nur Word und dort stehen dann die Spalten der Abfrage zur Verfügung)
Delphi-Quellcode:
procedure SQL2Word(DSN, Database, SQL:string);
var oSubType, oConnection, oSQL:olevariant;
    Word:TWordApplication;
begin
  Word:=TWordApplication.Create(nil);
  try
    Word.Connect;
    Word.Documents.Add(EmptyParam, EmptyParam, EmptyParam, EmptyParam);
    Word.ActiveDocument.MailMerge.MainDocumentType:=wdFormLetters;
    oSQL:=SQL;
    oConnection:=
      'DSN=' + DSN + ';' +
      'UID=' + Username + ';' +
      'APP=Microsoft® Query;' +
      'WSID=' + Computername + ';' +
      'DATABASE=' + Database + ';' +
      'LANGUAGE=Deutsch;' +
      'Trusted_Connection=Yes';
    oSubType := wdMergeSubtypeWord2000;

    Word.ActiveDocument.MailMerge.OpenDataSource(
      '',
      EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
      EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
      oConnection, oSQL,
      EmptyParam, EmptyParam,
      oSubType
    );
    Word.Visible:=true;
    Word.Disconnect;
  finally
    Word.free;
  end;
end;
Aufruf...
Delphi-Quellcode:
SQL2Word('mssql', 'northwind', 'SELECT * FROM tabelle');

Overclocker 23. Jun 2009 18:12

Re: Word ODC Datenquelle OHNE Passwortabfrage einstellen
 
Problem gelöst :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz