From: kj on 14 Feb 2010 22:39 Thnks for your reply. I guess i am not using VS auto deploy. I deploy my assembly using create/alter assembly. My function looks like this SqlChars^ func1(SqlBytes Data, SqlString a, SqlString b) { SqlChars ^output = gcnew SqlChars(); .. .. .. while ((bytesRead = Data.Read(offsetr,tmpInBuffer, 0, chunkSize)) > 0) { read and process on Data output->write(....) // write processed data in output. } return output; } Input data can be upto 1GB. If I write data to memorystream as MemoryStream ^ms = gcnew MemoryStream(); ms->Write(tmpOutBuffer,0,tmpOutBytes); and then return SqlChars Encoding ^u8 = Encoding::UTF8; output = gcnew SqlChars(u8->GetString(ms->ToArray())); return output; it works fine till 30MB and then result in ..NET Framework execution was aborted by escalation policy because of out of memory. Bob Beauchemin wrote: Are you using DDL or VS autodeploy to deploy your CLR function? 14-Feb-10 Are you using DDL or VS autodeploy to deploy your CLR function? If you are using VS autodeploy, have you decorated your return value with the SqlFacet attribute and specified MaxSize = -1? Otherwise you will get generated DDL for nvarchar(4000). Hope this helps, Bob Beauchemin SQLskills Previous Posts In This Thread: Submitted via EggHeadCafe - Software Developer Portal of Choice Sending SMTP email from within BizTalk Orchestration http://www.eggheadcafe.com/tutorials/aspnet/9dd0f346-baf9-4674-a50f-1716445b26bc/sending-smtp-email-from-w.aspx
|
Pages: 1 Prev: Using SqlBytes/SqlChar write method in CLR Next: Using SqlBytes/SqlChar write method in CLR |