Hi,
I get the following error while trying to execute a UDF.
Msg 6522, Level 16, State 1, Line 1
A .NET Framework error occurred during execution of user defined routine or aggregate 'test':
System.NullReferenceException: Object reference not set to an instance of an object.
System.NullReferenceException:
at SalesCentral_Database.UserDefinedFunctions.udfTest()
My function is defined as follows:
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.SqlTypes
Imports Microsoft.SqlServer.Server
Partial Public Class UserDefinedFunctions
<Microsoft.SqlServer.Server.SqlFunction(DataAccess:=DataAccessKind.Read)> _
Public Shared Function udfTest() As SqlString
SqlContext.Pipe.Send(System.DateTime.Now().ToString())
Dim conn As New SqlConnection("context connection=true")
conn.Open()
Dim cmd As New SqlCommand("SELECT MAX(ACCTPERIOD) FROM TBL_OPPORTUNITY_HIS", conn)
Return New SqlString(cmd.ExecuteScalar().ToString())
End Function
End Class
SQL Server
CREATE ASSEMBLY SalesCentral_Database from '\\isew5l6c\tranf\SFS_Sales\SalesCentral_Database.dll' WITH PERMISSION_SET = SAFE
CREATE FUNCTION test() RETURNS NVARCHAR(10) AS EXTERNAL NAME [SalesCentral_Database].[SalesCentral_Database.UserDefinedFunctions].[udfTest]
SELECT dbo.test()
- Here I get the error mentioned above. Can anyone please tell me what am I missing.
Thanks.
Hi,
This is the same error as in this thread. You should remove the "SqlContext.Pipe.Send..." line from your code. I'm curious what you intent is with that linethe pipe is really to return results from within a stored procedure.
Cheers,
-Isaac
No comments:
Post a Comment