Я использую соединение ODBC для получения набора данных в C #. Я вижу, что полная командная строка добавляется к соединению при его создании.
OdbcDataAdapter dataAdapter = new OdbcDataAdapter(GetCommandString(), odbcConnection);
Я использую следующую строку для добавления параметра в командную строку.
dataAdapter.SelectCommand.Parameters.Add("@Foo", OdbcType.Decimal).Value = foo2;
Тем не менее, при использовании SQL Profiler я вижу, что только часть командной строки фактически превращается в SQL.
Во время тестирования мы видели, что полная строка будет передана, если мы жестко закодируем значение в строку и удалим строку параметров, показанную выше.
Ограничивает ли использование параметра длину строки, которую я могу передать?
Отредактировано - добавление информации о запросе SQL: Вот пример того, как выглядит запрос до добавления параметра.
DECLARE @foo decimal
SET @foo = ?
Select c1,c2,c3,c4 from table1 where id = @foo
Select b1,b2,b3,b4 from table1 where id = @foo
Select a1,a2,a3,a4 from table1 where id = @foo
Select t1,t2,t3,t4 from table1 where id = @foo