Linq-to-Sql NotSupportedException: могу ли я быть уверен, что он будет работать на более новой версии сервера? - PullRequest
2 голосов
/ 09 августа 2009

Я занимаюсь небольшим отчетным проектом, который должен прочитать много данных из базы данных SQL Server 2000. Я использую Linq-to-SQL; и когда я запускаю один из моих запросов, я получаю это исключение:

NotSupportedException: Cannot translate expression to SQL for this server version

Это сообщение указывает, что мой запрос будет работать на более новой версии сервера. Но могу ли я быть уверен, что он будет работать на более новой версии, и как определить, какая версия нужна?

Возможно, я смогу перейти на SQL Server 2008, но это требует затрат времени и денег. Поэтому я хотел бы знать, поможет ли это мне в этой ситуации.

1 Ответ

3 голосов
/ 09 августа 2009

Любая версия позже , чем 2000, должна работать для вас. Вероятно, это связано с тем, что SQL 2000 не поддерживает типы данных VARCHAR (MAX) и VARBINARY (MAX), хотя вы никогда не знаете - я думаю, это зависит от того, что именно вы пытаетесь сделать.

Холодная суровая правда в том, что SQL 2000 сейчас 9 лет. Пришло время обновить. Ты опоздал на вечеринку. SQL 2000 даже не поддерживается "основной" структурой поддержки Microsoft . Новые технологии должны предполагать некоторое разумное окно стека продуктов под ними, а для Linq to SQL оно в значительной степени начинается с SQL 2005.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...