У меня есть проблема, которую я не могу решить. Я использую SQL Server 2005, C# CLR для использования внешней dll. Проблема в длине параметра. Мне нужно использовать в качестве параметра функции тип varchar(max)
. Если в коде C# я использую string
, SqlSring
, я не могу использовать тип T-SQL varchar(max)
, только varchar(4000)
из nvarchar(4000)
. Я должен сказать, что могут быть ситуации, когда мне нужно использовать более 4000 символов, поэтому мне нужно знать, какой тип C # мне нужно использовать для varchar(max)
.
Я прочитал много статей, и в нескольких из них говорится, что для этого я могу использовать SqlChars
. Но! У меня есть манипуляции со строками. Как я могу иметь действия с string
или SqlString
, а затем конвертировать в SqlChars
? (Возможно SqlChars.ToString()
или SqlChars.ToSqlString()
).
Я не нашел для этого кода С#.
varchar(max)
, использующая максимальную емкость, не будет загружаться в строку CLR, поскольку она исчерпает адресное пространство. Можете ли вы более подробно указать, какие действия вы хотите выполнить с этими строками? - person Damien_The_Unbeliever   schedule 28.09.2011varchar(max)
, и экземпляр .NETstring
могут иметь размер до 2 ГБ.... - person marc_s   schedule 28.09.2011varchar(max)
может содержать более 2 ГБ. Но я в основном работал с другой стороны. Конечно, в 32-битной CLR вы не можете выделить объект размером 2 ГБ, и я думаю, что вы можете бороться даже с 64-битной. - person Damien_The_Unbeliever   schedule 30.09.2011