Ed Altofer wurde positiv bewertet. (Er hat zuerst geantwortet, also wenn dir meine Antwort gefällt, stimme auch für seine).
OleDB ist Ihr Problem. Es handelt sich um eine generische Datenbankverbindung, die mit mehr als nur SQL Server kommunizieren muss, und als Ergebnis haben Sie eine Situation mit dem kleinsten gemeinsamen Nenner, in der nur der schwächste zusammengesetzte Funktionssatz vollständig unterstützt werden kann. Eines der verlorenen Features ist die varchar(max)-Unterstützung.
Sie verwenden SQL Server 2005 und VB.Net. Was hindert Sie daran, System.Data.SqlClient statt System.Data.OleDb zu verwenden?
Bearbeiten
Ich habe die Dokumentation zu diesem Problem gefunden. Siehe hier:
http://msdn.microsoft.com/ de-us/library/ms131035.aspx
Der relevante Teil: