Ich verstehe, dass Microsoft 2011 beschlossen hat, OLE DB abzulehnen und dass keine neuen Treiber oder Wartung über SQL Native Client V11 hinaus auftreten würde. In Zukunft sollten Sie ODBC-basierte Treiber verwenden - http://weblogs.sqlteam.com/dang/archive/2011/09/04/rip-ole-db.aspxOLEDB, ODBC, Ntext und Nvarchar (max)
Die neuesten ODBC-Treiber 'Microsoft ODBC-Treiber 13 für SQL Server' Veröffentlichung am 25. Juli 2016 sein - https://www.microsoft.com/en-us/download/details.aspx?id=50420
ODBC-Treiber von Native Client V9,10,11 und der Microsoft ODBC-Treiber SQL Server V11 und 13 arbeiten alle im klassischen ASP-Code, der mit dem SQL-Server interagiert (ich verwende SQL 2012), mit Ausnahme eines Problems - nText und Nvarchar (max).
Sie geben nur leer zurück - ich habe Lösungen gesehen, die sagen, dass Sie zuerst in eine lokale Variable lesen sollten, anstatt das Recordset direkt anzusprechen, z. varStr = rs ("LargeText"), aber das funktioniert nicht für mich. Und es gibt andere Erwähnungen der Verwendung von Get Chunk usw.
Aber ich bin ziemlich glücklich mit Native Client V9 (Provider = SQLNCLI), die perfekt mit diesen Datentypen funktioniert.
Also, meine Fragen sind:
mit nText/Nvarchar (max) Datentypen Gibt es trotzdem zu ODBC-Treiber erhalten zu arbeiten?
Gibt es einen Vorteil für die Verwendung von ODBC über OLEDB?
Muss ich irgendwann zu ODBC upgraden, um sich in Zukunft mit SQL Server zu verbinden, d. H. SQL 2014/2016?
Mit anderen Worten, kann ich weiter mit OLEDB weitermachen?
OK, Lankymart - würde ich so etwas wie folgt verwenden:
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Driver={SQL Server Native Client 11.0};Server=*Yourserver*;Database=*YourDatabase*;User ID=*YourUserid*;Password=*YourPassword*;"
'oConn.Open "Provider=SQLNCLI11;Server=*YourServer*; Database=*YourDatabase*;User ID=*YourUserID*;Password=*YourPassword*;"
set view=oConn.Execute("SELECT [PText] FROM [TextTest]")
ttext=view("PText")
response.write(ttext)
view.Close
set view = Nothing
oConn.Close
set oConn = Nothing
Wo [pText] ist ein NVARCHAR (Max) Feld in SQL. Dies funktioniert nicht mit dem nativen Client ODBC ({SQL Server Native Client 11.0}), funktioniert aber mit OLE DB (SQLNCLI11).
Auch mit SQL 2014/2016 oder zukünftige SQL-Versionen? –
Sie verwenden wahrscheinlich die [falsche Verbindungszeichenfolge] (http://www.connectionstrings.com/sql-server-native-client-11-0-odbc-driver/), wenn Native Client über ODBC nicht für Sie arbeitet . – Lankymart
https://msdn.microsoft.com/en-us/library/ms131267(v=sql.110).aspx – Lankymart