Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase

Specify SQL Type Expand / Collapse
Author
Message
Posted Thursday, May 1, 2014 5:00 PM
SSC Journeyman

SSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC Journeyman

Group: General Forum Members
Last Login: Thursday, November 6, 2014 4:42 PM
Points: 93, Visits: 330
Hello

I have a CLR SQL Function with a signature that looks like this...

public static long fnCreateKey(string value)
{
...
}

The function is working fine. However, in SSMS this is what the signature looks like...

[dbo].[fnCreateKey](@value [nvarchar](4000))

That function shouldn't get anything larger than varchar(9). Is there a way to change the type from a nvarchar to a varchar and change the length from 4000 to 9?

Thanks!
Post #1566877
Posted Thursday, May 1, 2014 5:24 PM


Old Hand

Old HandOld HandOld HandOld HandOld HandOld HandOld HandOld Hand

Group: General Forum Members
Last Login: Yesterday @ 9:20 PM
Points: 370, Visits: 1,972
cgreathouse (5/1/2014)
Hello

I have a CLR SQL Function with a signature that looks like this...

public static long fnCreateKey(string value)
{
...
}

The function is working fine. However, in SSMS this is what the signature looks like...

[dbo].[fnCreateKey](@value [nvarchar](4000))

That function shouldn't get anything larger than varchar(9). Is there a way to change the type from a nvarchar to a varchar and change the length from 4000 to 9?

Thanks!


Hey there. A few things to mention:


  • Use SqlFacet to tell Visual Studio how to generate certain properties of input/output params. In this case: fnCreateKey([SqlFacet(MaxSize = 9)] SqlString value)

  • You should use the Sql types instead of native .Net types for input/output params. So use either SqlString or SqlChars instead of string.

  • No, you cannot do VARCHAR. NVARCHAR / NCHAR is the only option with SQLCLR



Take care,
Solomon...





SQL# - http://www.SQLsharp.com/
Post #1566879
« Prev Topic | Next Topic »

Add to briefcase

Permissions Expand / Collapse