Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Support für ADO endet?

Begonnen von PhilS, August 22, 2017, 19:27:16

⏪ vorheriges - nächstes ⏩

PhilS

Zitat von: PeterWa am August 22, 2017, 18:18:59Ich habe gehört das Microsoft ADO ab 2018 nicht mehr unterstützt. Ist das eine Ente, Gerücht oder ist an dem was wahres dran?
Hast du eine konkrete Quelle dazu?

Nach meinem Kenntnisstand ist das so nicht richtig. - Aber man muss genau darauf achten worum es letztendlich geht.

Richtig ist, Microsoft hat bereits vor 6 Jahren angekündigt, den Support für den Microsoft SQL Server OLE DB Provider einzustellen. Ja sogar in Erwägung gezogen, bei zukünftigen Versionen von SQL-Server (das wären von damals aus gesehen SQL 2014 und folgende) den Zugriff über OLE DB explizit zu unterbinden. - Dies ist zumindest mit SQL 2014 definitiv nicht passiert. Für die späteren Versionen habe ich keinen eigenen Erfahrungswerte, aber ich bin recht sicher, dass ich es mitbekommen hätte, wenn es tatsächlich so wäre.

Um auf das eigentliche Thema zurückzukommen. Mir ist keinerlei offizielle Information von Microsoft bekannt, dass ADO zukünftig nicht mehr unterstützt wird.

Allerdings verwendet ADO als Zugriffstechnologie standardmäßig OLE DB und ist damit von dem obigen Sachverhalt natürlich indirekt auch betroffen.

Nun gibt es aber auch einen Microsoft OLE DB Provider for ODBC Drivers, der von der obigen Ankündigung nicht betroffen ist. Damit kann man ADO-Verbindungen über ODBC herstellen. ODBC ist die empfohlene Datenzugriffstechnologie auf den MS-SQL-Server!

Was jetzt als wesentliche Information fehlt, ist eine Analyse, ob es mit der Kombination ADO-OLEDB-ODBC entweder Einschränkungen im Funktionsumfang oder von der Performance her gibt.

Dies Thema steht auf meiner Todo-Liste. - Allerdings nicht auf einer der vordersten Positionen...

PS: Ich habe den Thread hier getrennt, da unter dem ursprünglichen Betreff niemand diesen Inhalt vermuten wird.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

markusxy

#1
Hallo Phillip,
weißt du ob die Shape Anweisungen, ohne OLEDB Data Provider funktionieren?
Das könnte ja eine mögliche Einschränkung sein.
LG Markus

Edit:
https://docs.microsoft.com/en-us/sql/ado/guide/appendixes/microsoft-data-shaping-service-for-ole-db-ado-service-provider

Interessanterweise ist hier davon die Rede das DataShaping ein Teil von Windows ist und in künftigen Windows Versionen nicht mehr unterstützt wird.
Ich finde die Technik recht brauchbar, wenn es darum geht in ADODB berechnende Felder zu verwenden, oder wenn nur ein Teil der Felder eines Recordsets an eine Tabelle gebunden ist und ein Teil nicht. Ansonsten vermute ich mal das die Hierarchischen Recordsets nicht verwendet werden, da der Nutzen zu gering und der Aufwand das Konzept zu beherrschen zu groß ist.

@PeterWa hast du das gemeint?

PhilS

Zitat von: markus888 am August 28, 2017, 14:27:12weißt du ob die Shape Anweisungen, ohne OLEDB Data Provider funktionieren?
Ich muss gestehen, vor deinen Edit mit dem Link zur Dokumentation, musste ich erstmal googlen, was überhaupt gemeint ist. - Ich erinnere mich dunkel früher häufiger mal Connectionstrings mit dem MSDataShape gesehen zu haben, aber ich weiß keine Details mehr.

Die Beispiel-Connectionstrings in der Dokumentation zeigen erstaunlicherweise Data Provider=MSDASQL.
MSDASQL ist genau der von mir bereits erwähnte Microsoft OLE DB Provider for ODBC Drivers. Folglich sollte es zumindest grundsätzlich funktionieren.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

markusxy

Damit Shape funktioniert braucht man zwei Provider.
Provider=MSDataShape;Data Provider=MSDASQL
Zentral ist hierbei wohl der MSDataShape, der künftig vermutlich nicht mehr von Windows unterstützt wird und somit sämtliche Shape Funktionalität - und das ist eine ganze Menge - obsolet wird.

LG Markus

PhilS

Zitat von: PhilS am August 22, 2017, 19:27:16Richtig ist, Microsoft hat bereits vor 6 Jahren angekündigt, den Support für den Microsoft SQL Server OLE DB Provider einzustellen. Ja sogar in Erwägung gezogen, bei zukünftigen Versionen von SQL-Server (das wären von damals aus gesehen SQL 2014 und folgende) den Zugriff über OLE DB explizit zu unterbinden. - Dies ist zumindest mit SQL 2014 definitiv nicht passiert. Für die späteren Versionen habe ich keinen eigenen Erfahrungswerte, aber ich bin recht sicher, dass ich es mitbekommen hätte, wenn es tatsächlich so wäre.
Dieser Teil der Problematik hat sich letzte Woche auf unerwartete und sehr erfreuliche Weise bis auf weiteres komplett in Luft aufgelöst.

Microsoft hat die OLE DB Zugriffstechnologie für SQL Server "undeprecated". D.h. die Ankündigung diese Technologie zukünftig nicht mehr zu supporten, wurde zurückgenommen und für das erste Quartal 2018 wurde eine neue Version des OLE DB Providers mit erweiterten Funktionsumfang angekündigt.

Hier die Quelle: Announcing the new release of OLE DB Driver for SQL Server
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor