Compartilhar via


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

  1. Visual Studio 2008, no menu Arquivo , apontar para nova e, em seguida, clique em de sites da Web .

  2. Em Visual Studio instalado modelos , clique de sites da Web ASP.NET .

  3. 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.

  4. idioma , clique em Visual C# e em seguida, clique OK .

Para criar a página ASPX

  1. 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.

  2. O menu **** de site da Web, clique em Add New Item .

  3. A Add New Item diálogo caixa, clique em Web Form e, em seguida, tipo searchresellers.aspx .

  4. Verificar codificar local em separar arquivo e clique em seguida, adicionar .

  5. Em Gerenciador de Soluções , clique duplo searchresellers.aspx.cs .

  6. 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;
    
  7. 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;";
    
  8. 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));
            }
        }
    }
    
  9. 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();
        }
    }
    
  10. 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