Etapa 1: Criar o projeto para o conector federado SQL Server de pesquisa
Dica
Este tópico descreve uma funcionalidade que parte o Infrastructure Update for Microsoft Office Servers. Para baixar a atualização, consulte Descrição da atualização de infra-estrutura SharePoint Server 2007: 15 º de julho de 2008.
Antes de poder usar o exemplo, você precisará criar o projeto site com a página ASPX para o conector Federados SQL Server de pesquisa.
Você pode baixar o completo codificar para esse exemplo do https://code.msdn.microsoft.com/Release/ProjectReleases.aspx?Projectname=moss2007sdksamples&ReleaseId=1305 Federated Search SQL Server Connector Sample versão. A versão está localizado na página recurso https://code.msdn.microsoft.com/moss2007sdksamples Microsoft Office SharePoint Server 2007 SDK Search Samples do MSDN Code Gallery.
Para criar o projeto Web Site
Visual Studio 2008, no menu Arquivo , apontar para nova e, em seguida, clique em de sites da Web .
Em Visual Studio instalado modelos , clique de sites da Web ASP.NET .
local , clique em o sistema de arquivos e, se necessário, clique procurar para localizar a localidade correta para este site. Esta localidade pode ser o padrão localidade para sua projetos Visual Studio e Web sites, ou a localidade em diretório virtual do seu site no qual você irá implantar este aplicativo da Web.
idioma , clique em Visual C# e em seguida, clique OK .
Para criar a página ASPX
Gerenciador de Soluções , clique com o botão direito do mouse default.aspx e, em seguida, clique em para excluir remover a página ASPX usar como padrão criada com o projeto.
O menu **** de site da Web, clique em Add New Item .
A Add New Item diálogo caixa, clique em Web Form e, em seguida, tipo searchresellers.aspx .
Verificar codificar local em separar arquivo e clique em seguida, adicionar .
Em Gerenciador de Soluções , clique duplo searchresellers.aspx.cs .
Em searchresellers.aspx.cs, adicionar o seguinte using instruções para as diretivas de espaço para nome perto de parte superior da codificar usando.
using System.Text; using System.Data.SqlClient;
Adicione o seguinte codificar abaixo a declaração de classe.
string query; string vendor; string format; string connectionString = "Data Source=(local);Integrated Security=SSPI;Initial Catalog=AdventureWorksDW;";
Substituir o Render processamento usando o seguinte codificar.
protected override void Render(HtmlTextWriter writer) { query = Request.QueryString["q"]; vendor = Request.QueryString["v"]; format = Request.QueryString["f"]; if (vendor != null && vendor.Length > 0) { writer.Write(GetVendorHTML(vendor)); } else { if (format == "htm") { writer.Write(GetResultsHTML(query)); } else { StringBuilder sb = new StringBuilder(); Response.ContentType = "text/xml"; writer.Write(GetResultsXML(query)); } } }
Adicione a codificar para o GetResultsXML método GetResultsXML. Esse método executa um SELECT declaração com o termo consulta contra o banco de dados AdventureWorksDW e então converte os resultados para formato de RSS.
private string GetResultsXML(string queryTerm) { using (SqlConnection connect = new SqlConnection(connectionString)) { connect.Open(); string strCommand = string.Format("select ResellerName,BusinessType,ProductLine,AnnualRevenue from DimReseller WHERE ResellerName like '%{0}%'", queryTerm); SqlCommand command = new SqlCommand(strCommand, connect); SqlDataReader sqlReader = command.ExecuteReader(); StringBuilder resultsXML = new StringBuilder(); resultsXML.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); resultsXML.Append("<rss version=\"2.0\">"); resultsXML.AppendFormat("<channel><title><![CDATA[Adventure Works: {0}]]></title><link/><description/><ttl>60</ttl>", queryTerm); while (sqlReader.Read()) { resultsXML.AppendFormat("<item><title><![CDATA[{0}]]></title><link><![CDATA[{4}?v={0}&q={5}]]></link><description><![CDATA[{1} {2} {3}]]></description></item>", sqlReader[0], sqlReader[1], sqlReader[2], sqlReader[3], Request.Path.ToString(), query); } resultsXML.Append("</channel></rss>"); return resultsXML.ToString(); } }
Adicione a codificar para o GetResultsHTML método GetResultsHTML. Esse método executa um SELECT declaração com o termo consulta contra o AdventureWorksDW banco de dados e, em seguida, exibe os resultados em HTML.
private string GetResultsHTML(string queryTerm) { StringBuilder resultsHTML = new StringBuilder(); resultsHTML.Append("<html><head><title>More Results HTML Page</title></head><body>"); using (SqlConnection connect = new SqlConnection(connectionString)) { connect.Open(); string strCommand = string.Format("select ResellerName,BusinessType,ProductLine,AnnualRevenue from DimReseller WHERE ResellerName LIKE '%{0}%'", query); SqlCommand command = new SqlCommand(strCommand, connect); SqlDataReader sqlReader = command.ExecuteReader(); if (sqlReader.HasRows) { int i = 0; while (sqlReader.Read()) { if (i > 14) { break; } else { resultsHTML.AppendFormat("<p><a href='{4}?v={0}'>{0}</a><br>{1} {2} {3}</p>", sqlReader[0], sqlReader[1], sqlReader[2], sqlReader[3], Request.Path.ToString()); i++; } } } else { resultsHTML.AppendFormat("<p>No results for query: <b>{0}</b>", query); } if (!sqlReader.IsClosed) { sqlReader.Close(); } } resultsHTML.Append("</body></html>"); return resultsHTML.ToString(); }
As seguinte etapas
Etapa 2: implantar e testar o conector federado SQL Server de pesquisa
Consulte também
Outros recursos
Exemplo do conector SQL Server Pesquisar federado
Guia arquitetura para construção Federados conectores de pesquisa