У меня есть веб-приложение, в котором я вызываю запрос SELECT DISTINCT для двух соединенных таблиц. Если я пытаюсь выполнить запрос с веб-страницы, я получаю следующую ошибку: «Тип данных text, ntext или image не может быть выбран как DISTINCT». Когда я запускаю его из SQL Management Studio, запрос выполняется нормально - без ошибок. Еще интереснее то, что ни в одной из таблиц нет типов данных text, ntext или image.
Следует отметить, что я прошагал по коду и прямо перед выполнением запроса копирую запрос из окна «watch» в Mgmt Studio, и он запускается, когда я прохожу и позволяю .NET запустить его, ошибка выдается. Я использую .NET 2 и пространство имен System.Data.SqlClient.
Вот мой запрос:
SELECT DISTINCT ResponseFormParent.*
FROM ResponseFormParent
INNER JOIN ResponseForm
ON ResponseFormParent.ResponseFormParentId = ResponseForm.ResponseFormParentId
WHERE ResponseForm.RegistrationDeadline >= '5/1/2009'
ResponseFormParent имеет 3 целых, 1 дату и 1 nvarchar (50).
ResponseForm имеет 4 ints, 1 datetime, 1 bit и 1 nvarchar (255).
В чем причина проблемы? Ошибка не имеет смысла.
ОБНОВЛЕНИЕ: код для вызова запроса
public DataSet ExecuteQuery(string sql)
{
DataSet ds = null;
try
{
using (SqlConnection dbconn = new SqlConnection(connectionString))
using (SqlCommand dbcmd = new SqlCommand(sql, dbconn))
{
SqlDataAdapter dbadapter = new SqlDataAdapter(dbcmd);
ds = new DataSet();
dbadapter.Fill(ds);
}
}
catch (Exception ex)
{
Utility.LogError(sql, ex);
}
return ds;
}