AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbankübergreifende Benutzerdefinierte Funktion
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbankübergreifende Benutzerdefinierte Funktion

Ein Thema von DerAndereMicha · begonnen am 31. Jul 2009 · letzter Beitrag vom 4. Aug 2009
Antwort Antwort
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#1

Datenbankübergreifende Benutzerdefinierte Funktion

  Alt 31. Jul 2009, 13:26
Datenbank: MS SQL Server • Version: 2000 • Zugriff über: ADO
Hallo,

ich habe eine benutzerdefinierte Funktion erstellt und möchte diese in mehreren Datenbanken verwenden. Angelegt habe ich sie aber nur in einer DB. Ich dachte nun, man kann wie bei Tabellen mittels ".." auf diese Fkt. aus anderen DB zugreifen. Leider gelingt mir das mit der üblichen Syntax nicht:

SELECT dbname..dbo.function(value) Hat jemand ne Idee, oder muß ich die Funktion wirklich in jeder DB anlegen, in der ich sie verwenden will?

Gruß
Micha
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Datenbankübergreifende Benutzerdefinierte Funktion

  Alt 1. Aug 2009, 02:17
Du musst einen Verbindungsserver einrichten. (im Enterprise Manager)
Hinter einem Verbindungsserver verbirgt sich der Name des Zielserver, Datenbanktyp, User und Passwort.
Der Name des Verbindungsservers ist üblicherweise gleich dem Namen des Zielservers; ist aber kein Muss.
http://msdn.microsoft.com/de-de/library/ms188279.aspx
fork me on Github
  Mit Zitat antworten Zitat
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Datenbankübergreifende Benutzerdefinierte Funktion

  Alt 3. Aug 2009, 08:03
Und was soll mir das bringen? Ich setze schon lange diese Technik ein, um auf andere Datenbanksysteme mittels SQL-Server zuzugreifen. Aber wie soll ich denn bitte mit Hilfe eines Verbindungsservers eine global verfügbare benutzerdefinierte Funktion realisieren? Ich glaube da hast Du meine Frage wohl nicht richtig verstanden.

Gruß
Micha
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Datenbankübergreifende Benutzerdefinierte Funktion

  Alt 4. Aug 2009, 16:47
Zitat von DerAndereMicha:
Ich glaube da hast Du meine Frage wohl nicht richtig verstanden.
Scheint wohl so.

Eine UDF ist doch immer einer bestimmten Datenbank (Schema) zugeordnet.
Also entweder die UDF ist in einer bestimmten Datenbank (z.B. master) und Du
verwendest dann den vollqualifizierten Namen
SELECT LinkedServer.master.dbo.function(value) oder die UDF muss in jeder Datenbank vorhanden sein.
fork me on Github
  Mit Zitat antworten Zitat
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Datenbankübergreifende Benutzerdefinierte Funktion

  Alt 4. Aug 2009, 17:08
Danke. Ich stand auf dem Schlauch. Schau Dir mal mein 1.Posting genau an - bei mir war ein Punkt zuviel. Nun gehts perfekt.

Gruß
Micha
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:00 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