none
Verbindung bei Reporting Services RRS feed

  • Frage

  • Hallo

    Ich habe einen Server auf welchem die Datenbanken liegen, einen seperaten virt. Server mit Reporting Services welches Daten ab dem ersten Server holt.

    Jetzt möchte ich von extern(kein VPN sondern nur per Weboberfläche vom RS) auf RS zugreiffen und per Report Builder Reports generieren. Ich habe bereits eine Datenquelle angelegt, welche ab dem LAN vom Server auch funktioniert(172.-IP). Wenn ich von extern per Report Builder diese Verbindung nutzen möchte, geht es aber nicht. Wenn ich manuell eine Verbindung aufbauen möchte, sehe ich nur die lokal erreichbaren SQL Server.

    Was muss man machen, damit aus Sicht vom ReportingServer die Verbindungen aufgebaut werden?

    Gruss Christoph

     

    Samstag, 15. Mai 2010 16:30

Antworten

  • Hallo Christoph,

    Ich habe jetzt erwartet, dass der RS jeweils die Daten ab dem DB-Server holt und aufbereitet. Mit dem Report Builder(aktuell noch 2.0, falls aber das mit 3.0 anders wäre, würde ich auch wechseln) würde dann nur auf den RS verbunden und dieser lädt dann die verfügbaren Tabellen/Daten ab dem DB-Server.

    Du musst unterscheiden zwischen dem Tool mit dem die Reports designt werden und dem, mit dem Du einen Report, der von den Reporting Services lediglich mit Daten gefüllt wird, anzeigst.

    Der Designer (Builder) muss wissen, welche Datenstrukturen überhaupt zur Verfügung stehen um dir die Möglichkeit zu geben, einen Report zu designen. Die Reporting Services übernehmen IMHO nicht die Aufgabe, die Strukturen der Datenbank bereitzustellen.

    Der Report Viewer ruft lediglich einen bestimmten Report aus den Reporting Services ab, übergibt ggfs. noch ein paar Parameter und erhält dann von den Reporting Services eine Rückgabe im angeforderten Format.

    Dann müsste also entweder die DB lokal installiert werden, damit da die Reports erzeugt und hochgeladen werden können oder per VPN auf den DB-Server kommen?
    Für den Designer Ja.

    Ich habe mal auf dem RS eine DB-Verbindung und daraus ein Model erzeugen lassen(ab internem PC) und dieses Model konnte ich dann von extern nutzen. Bei den Modellen fehlte mir aber die Möglichkeit, eine Tabelle mehrmals zu Verknüpfen. Wenn ich also eine Tabelle mit den Währungen habe und in einer Tabelle ein DB-Feld InterneWährung und ExterneWährung, müssten beide Felder mit der Währungstabelle verknüpft werden.

    Das hab ich, ehrlich gesagt, nicht wirklich verstanden.

    Wenn ich demnächst mal Zeit habe, probier ich dein Konstrukt mal aus. Evtl. gibt es ja doch einen einfachen Weg, den ich nur selbst nicht kenne.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Sonntag, 16. Mai 2010 18:52
    Moderator

Alle Antworten

  • Hallo Christoph,

    Ich habe einen Server auf welchem die Datenbanken liegen, einen seperaten virt. Server mit Reporting Services welches Daten ab dem ersten Server holt.

    Jetzt möchte ich von extern(kein VPN sondern nur per Weboberfläche vom RS) auf RS zugreiffen und per Report Builder Reports generieren. Ich habe bereits eine Datenquelle angelegt, welche ab dem LAN vom Server auch funktioniert(172.-IP).

    wenn ich das richtig verstehe, sieht das bei dir so aus:

    LAN
     -> VM mit Reporting Services
     -> Lokale Rechner

       |
       |
    Router
       |
       |

    WAN
     -> Externer Rechner

    Von "Externer Rechner" willst Du auf "VM mit Reporting Services"?

    Dann müsstest Du wohl ein PortForwarding auf deinem Router einrichten, damit Du überhaupt ins LAN kommst. Wie man das macht, hängt von deinem Router und ggfs. weiteren Sachen in deinem Netzwerk ab.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Samstag, 15. Mai 2010 21:21
    Moderator
  • Hallo Stefan

    Ja, so ähnlich wobei die Datenbank mit den auszuwertenden Daten im LAN auf einem weiteren virt. Server sind. Ich ging bis jetzt davon aus, dass in einem solchen Fall RS die Daten am dem DB-Server holt, aufbereitet und nur den Output weitergibt und nicht dass der Report Builder direkt auf die Datenbank (sondern eben RS) zugreifft.

    Muss man also beim Report-Design mit dem Report Builder immer direkt auf die Datenbank kommen oder gibt es eine Möglichkeit, dass die Daten ab dem RS kommen? Falls nötig würde ich schon die Ports anpassen, lieber wäre mir aber, wenn alles über die Weboberfläche ginge und der SQL Server nicht direkt im Web zur Verfügung steht.

    VPN wäre natürlich möglich aber nicht optimal.

     

    Gruss Christoph

    Samstag, 15. Mai 2010 21:35
  • Hallo Christoph,

    Ja, so ähnlich wobei die Datenbank mit den auszuwertenden Daten im LAN auf einem weiteren virt. Server sind. Ich ging bis jetzt davon aus, dass in einem solchen Fall RS die Daten am dem DB-Server holt, aufbereitet und nur den Output weitergibt und nicht dass der Report Builder direkt auf die Datenbank (sondern eben RS) zugreifft.

    wenn ich das richtig sehe, willst Du dennoch von außen in dein internes Netzwerk zugreifen. Sowohl die VM mit den RS als auch die mit dem Datenbankserver liegen im LAN, der Rechner, vom dem aus Du zugreifen willst, im WAN. Dann musst Du schon zumindest den mit den RS erreichen können und dafür das PortForwarding einrichten.

    Die Daten selbst kommen AFAIK nicht von den Reporting Services, die sind nur fürs Zusammenstellen der Daten und die Ausgabe zuständig. Wenn Du extern einen Report Builder hast, muss der ja wissen, welche Datenbankobjekte es überhaupt gibt, ... In dem Fall muss man dann wohl auch den Datenbankserver bereitstellen. Was genau Du mit Weboberfläche meinst, weiß ich nicht, der Report Builder selbst ist IIRC eine lokale Anwendung, die auf dem entfernten PC läuft. Die Webanwendung dient zum Verwalten der Reports aber nicht zum Designen.

    Welchen Report Builder verwendest Du eigentlich? 3.0 ?


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Sonntag, 16. Mai 2010 14:15
    Moderator
  • Hallo Stefan

    Genau, von aussen ist aktuell nur der http-Zugang auf RS für die Verwaltung der Reports/Datenquellen/Modelle offen.

    Ich habe jetzt erwartet, dass der RS jeweils die Daten ab dem DB-Server holt und aufbereitet. Mit dem Report Builder(aktuell noch 2.0, falls aber das mit 3.0 anders wäre, würde ich auch wechseln) würde dann nur auf den RS verbunden und dieser lädt dann die verfügbaren Tabellen/Daten ab dem DB-Server. Das wäre zumindest meine Vorstellung.

    Aus deinen Erklärungen heraus entnehme ich aber, dass dem nicht so ist.

    Dann müsste also entweder die DB lokal installiert werden, damit da die Reports erzeugt und hochgeladen werden können oder per VPN auf den DB-Server kommen?

    Ich habe mal auf dem RS eine DB-Verbindung und daraus ein Model erzeugen lassen(ab internem PC) und dieses Model konnte ich dann von extern nutzen. Bei den Modellen fehlte mir aber die Möglichkeit, eine Tabelle mehrmals zu Verknüpfen. Wenn ich also eine Tabelle mit den Währungen habe und in einer Tabelle ein DB-Feld InterneWährung und ExterneWährung, müssten beide Felder mit der Währungstabelle verknüpft werden.

    Das hatte ich aber ebenfalls mit der 2.0er-Version geprüft. Vieleicht habe ich ja etwas übersehen oder es geht mit 3.0

    Gruss Christoph

    Sonntag, 16. Mai 2010 17:31
  • Hallo Christoph,

    Ich habe jetzt erwartet, dass der RS jeweils die Daten ab dem DB-Server holt und aufbereitet. Mit dem Report Builder(aktuell noch 2.0, falls aber das mit 3.0 anders wäre, würde ich auch wechseln) würde dann nur auf den RS verbunden und dieser lädt dann die verfügbaren Tabellen/Daten ab dem DB-Server.

    Du musst unterscheiden zwischen dem Tool mit dem die Reports designt werden und dem, mit dem Du einen Report, der von den Reporting Services lediglich mit Daten gefüllt wird, anzeigst.

    Der Designer (Builder) muss wissen, welche Datenstrukturen überhaupt zur Verfügung stehen um dir die Möglichkeit zu geben, einen Report zu designen. Die Reporting Services übernehmen IMHO nicht die Aufgabe, die Strukturen der Datenbank bereitzustellen.

    Der Report Viewer ruft lediglich einen bestimmten Report aus den Reporting Services ab, übergibt ggfs. noch ein paar Parameter und erhält dann von den Reporting Services eine Rückgabe im angeforderten Format.

    Dann müsste also entweder die DB lokal installiert werden, damit da die Reports erzeugt und hochgeladen werden können oder per VPN auf den DB-Server kommen?
    Für den Designer Ja.

    Ich habe mal auf dem RS eine DB-Verbindung und daraus ein Model erzeugen lassen(ab internem PC) und dieses Model konnte ich dann von extern nutzen. Bei den Modellen fehlte mir aber die Möglichkeit, eine Tabelle mehrmals zu Verknüpfen. Wenn ich also eine Tabelle mit den Währungen habe und in einer Tabelle ein DB-Feld InterneWährung und ExterneWährung, müssten beide Felder mit der Währungstabelle verknüpft werden.

    Das hab ich, ehrlich gesagt, nicht wirklich verstanden.

    Wenn ich demnächst mal Zeit habe, probier ich dein Konstrukt mal aus. Evtl. gibt es ja doch einen einfachen Weg, den ich nur selbst nicht kenne.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Sonntag, 16. Mai 2010 18:52
    Moderator
  • Hallo Stefan

    Danke für deine Antworten. Dann werde ich mir da etwas einfallen müssen(VPN wirds wohl geben).

     

    Gruss Christoph

    Sonntag, 16. Mai 2010 19:57