Просмотр изменений nvarchars в varchars в SQL Server 2008 - PullRequest
1 голос
/ 02 июня 2010

У меня есть представление в базе данных SQL Server 2008, которая просто предоставляет около 20 полей одной таблицы для использования клиенту через ODBC. Когда я попытался скопировать это представление в другую базу данных, клиент не смог использовать источник данных.

Тогда я заметил некоторую странность. Столбцы в представлении показаны в SQL Server Management Studio как varchar (100), а столбцы в таблице определены как nvarchar (100). В представлении нет операторов CAST или CONVERT, это простой оператор SELECT.

Пример:

Таблица -> Колонки:

Desc1 (nvarchar (100), null)

Просмотр -> ВЫБРАТЬ ТОП 100 ПРОЦЕНТОВ Desc1 ИЗ ... Колонны:

Desc1 (varchar (100), ноль)

Есть идеи, почему столбцы определяются как varchar в представлении вместо nvarchar?

Ответы [ 3 ]

3 голосов
/ 02 июня 2010

Один ответ будет означать, что определение представления устарело

Попробуйте sp_refreshview и рассмотрите с помощью схемы

3 голосов
/ 02 июня 2010

Это происходит, когда кто-то обновляет таблицу, но забывает обновить представление.

Обновить вид. Просто откройте его в SSMS как ОБНОВЛЕНИЕ ОБНОВЛЕНИЯ и запустите.

2 голосов
/ 02 июня 2010
...