Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This example shows how to access an external database from a user-defined function (UDF).
Example
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Excel.Server.Udf;
using System.Data.SqlClient;
using System.Web;
using System.Security.Principal;
namespace DatabaseAccessUdfTest1
{
[UdfClass]
public class
{
[UdfMethod(IsVolatile=true)]
public string GetRowCount()
{
try
{
SqlConnection sqlConnection = new SqlConnection
("Data Source=myDatabaseServer002;Initial
Catalog=northwind;Integrated Security=SSPI;");
SqlCommand sqlCommand = new SqlCommand("SELECT COUNT(*)
FROM Customers", sqlConnection);
sqlConnection.Open();
string rowCount = (string)sqlCommand.ExecuteScalar();
sqlConnection.Close();
return (rowCount);
}
catch (Exception e)
{
return (e.ToString());
}
}
[UdfMethod(IsVolatile=true)]
public string GetSqlUserName()
{
try
{
SqlConnection sqlConnection = new SqlConnection("Data
Source= myDatabaseServer003;Initial
Catalog=northwind;Integrated Security=SSPI;");
SqlCommand sqlCommand = new SqlCommand("SELECT
CURRENT_USER", sqlConnection);
sqlConnection.Open();
string userName = (string)sqlCommand.ExecuteScalar();
sqlConnection.Close();
return (userName);
}
catch (Exception e)
{
return (e.ToString());
}
}
[UdfMethod(ReturnsPersonalInformation=true)]
public string GetUserName()
{
return
(System.Threading.Thread.CurrentPrincipal.Identity.Name);
}
[UdfMethod(ReturnsPersonalInformation=true)]
public string GetUserAuthenticationType()
{
return
(System.Threading.Thread.CurrentPrincipal.Identity.AuthenticationType);
}
}
}
See Also
Tasks
How to: Create a UDF that Calls a Web Service
How to: Trust a Location
How to: Catch Exceptions
How to: Enable UDFs
Concepts
Walkthrough: Developing a Managed-Code UDF
Frequently Asked Questions About Excel Services UDFs
Excel Services Architecture
Excel Services Alerts
Excel Services Known Issues and Tips
Excel Services Best Practices