Fragensteller
Visual Studio 2013 Shell Integriert

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 = @Parameter4wird 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