locked
Visual Studio 2013 Shell Integriert RRS feed

  • Frage

  • Hallo,

    seit dem Umstieg von Visual Studio 2012 auf Visual Studio 2013 haben sich einige gewohnten Dinge verändert.

    VORHER:

    **********

    Im Server-Explorer wurde unter Visual Studio 2012 (Shell Integriert) eine Datenverbindung zu einem SQL Server hergestellt und darauf Abfragen entwickelt. Diese Datenverbindung war wie folgt definiert:

       - Datenquelle SQL Server (SQL Client)

       - Datenanbieter .NET Framework-Datenanbieter für SQL-Server

    Über diese Datenverbindung konnte eine Abfrage mit Hilfe des Abfrage-Designers und des SQL Eingabefensters entwickelt werden.

    Es wurden Tabellen, Ansichten, Funktionen und Synonyme über das Menü hinzufügen bereit gestellt.

    Die definition von Parametern erfolgte über einen Eintrag im Filter im Format  " = @Parameter "

    Es konnten beliebig viele Parameter mit unterschiedlichen Namen genutzt werden.

    JETZT:

    ********

    Seit dem Umstieg auf Visual Studio 2013 (Shell Integriert) ist die Funktionalität nicht gleich geblieben!

    Wenn in den Datenverbindungen eine SQL Server Verbindung wie unter Visual Studio 2012 definiert wird, so fehlt ja erst einmal der Abfrage Designer.

    Um diesen wieder für die Entwicklung zu nutzen, habe ich die Datenverbindung als OLE DB Datenquelle definiert.

    Leider fehlt jetzt die Liste der Synonyme und der Funktionen, wenn man auf "Tabelle hinzufügen" wählt.

    Schlimmer ist es aber, wenn Parameter in die Filterzellen geschrieben werden.

    Hier ersetzt Visual Studio alle Einträge der Parameternamen durch ein " ? ".

    Startet man die Abfrage, wird man im Abfragefenster nur nach Fragezeichen gefragt......

    Beispiel:

    *********

    SELECT      Wert1, Wert2, Wert3, Wert4  
    FROM           Tabelle
    Where Wert1 = @Parameter1 AND Wert2 = @Parameter2 AND Wert3 = @Parameter3 AND Wert4 = @Parameter4

    wird umgewandelt in:

    SELECT        Wert1, Wert2, Wert3, Wert4
    FROM            Tabelle
    WHERE        (Wert1 = ?) AND (Wert2 = ?) AND (Wert3 = ?) AND (Wert4 = ?)


    Wie kann ich verhindern, das Visual Studio die Parameter entfernt?

    Warum funktioniert die Datenverbindung unter 2013 nicht ohne Einschränkung mit den gleichen Einstellungen in der Datenverbindung,

    wie unter Visual Studio 2012 und der gleichen Datenbank auf dem SQL Server?

    Kann mir das hier jemand einfach erklären?

    Mit freundlichem Gruß

    Crusher

    Mittwoch, 6. Juli 2016 18:28

Alle Antworten

  • Hallo Crusher,

    in neueren Visual Studio Versionen wird der SQL Server über die SQL Server Data Tools angesprochen, die wesentlich mehr Möglichkeiten bieten, als es Visual Studio ursprünglich tat. Das hat Auswirkungen auf die von VS angebotenen Funktionen.

    So ist sind die SQL Server Funktionen in den SQL Server Object Explorer gewandert, siehe Hinweis zum Server Explorer und Connected Database Development

    Das es bei Ole Db nur mit "?" geht, liegt daran, dass bei Ole Db (wie ODBC) nur positionelle Parameter unterstützt werden, wie bei der OleDbParameter Klasse beschrieben. Nur native Provider wie der Sql Server können benannte Parameter unterstützen.

    Gruß Elmar

    Donnerstag, 7. Juli 2016 06:17
  • Hallo Elmar,

    vielen Dank für Deine schnelle Antwort =)

    Welche Möglichkeiten habe ich dann als Entwickler von Reports, mit SQL Servern als Datenverbindungen, wie in gewohnter Weisem Abfragen für Reports zu entwickeln, wie unter VS2012 ? (die Datenquellen haben sich ja nicht verändert...)

    Bei der SQL Server Verbindung habe ich keinen Abfrage Designer, die @Parameter werden in "?" umgewandelt und bei der OLE DB Verbindung zum SQL Server habe ich keine Synonyme, Funktionen undauch keine Parameter? Wenn ich z.Bsp. einen vorhandenen SQL_Code einer Abfrage in das Abfragefenster einfüge der fünf Parameter enthält, dann werden diese alle in Fragezeichen (ohne Name) umgewandelt ?!

    Sind an dieser Stelle weitere Konfigurationen oder Installationen auf Seiten des Windows-Servers oder SQL-Servers notwendig, die von den den administrativen Kollegen zu tätigen sind? Oder habe ich einen riesigen Denkfehler?

    Wir möchten ungerne auf den "Komfort" des Abfrage-Designers und der Verwendung von Parametern verzichten, nur weil wir einen neue Version von WindoswServer (2012R2), SQL Derver 2012 und VisualStudio 2013 (Shell Integriert) benutzen sollen.

    Ich wäre sehr dankbar, wenn man mir einen Weg beschreiben könnte, der zu dem gewünschten Ergebnis führt. (Abfrage-Designer mit Parametern, Synonymen und Funktionen)

    Viele Grüße

    Crusher


    • Bearbeitet Crusher606 Freitag, 8. Juli 2016 05:22
    Freitag, 8. Juli 2016 05:22
  • Hallo Crusher,

    was Ole Db und dessen Fragezeichen als Parameterplatzhalter angeht, gilt das bereits Gesagte und das galt von Anfang an (.NET 1.0). Da gibt es nun mal keine sprechenden Bezeichner (und die Reihenfolge bestimmt die Parameterauswertung).

    Was Du installieren kannst, sind die BI Tools, siehe SQL Server Data Tools – Business Intelligence for Visual Studio 2013 (SSDT BI)

    Oder aber, solange die Lizenz Voraussetzungen gegeben sind, gleich mit der Visual Studio Community Edition arbeiten und dazu die SQL Server Data Tools installieren.

    Gruß Elmar

    Freitag, 8. Juli 2016 07:00
  • Hallo Elmar,

    danke für die Hinweise.

    Da werde ich mal unsere Admins aktivieren müssen =)  Denn aktuell macht das entwickeln vor Reports auf diese Art und Weise nicht so richtig Freude.

    Schönes Wochenende und viele Grüße

    Crusher

    Freitag, 8. Juli 2016 07:08