Ilano 0 Denunciar post Postado Janeiro 28, 2009 Olá pessoal, Estou tentando realizar a consulta abaixo (apenas de teste para ver como criaria uma consulta entre bases diferentes no VS 2005). Ambas as bases são de mesmo servidor. No SQL Server 2005 ela funciona direitinho, só não estou conseguindo implementar na minha aplicação. Dim SQL As New System.Text.StringBuilder Dim Ds As New Data.DataSet Dim Cm As New SqlCommand Dim Cx As New SqlConnection Dim Da As New SqlDataAdapter SQL.Append(" SELECT A.Cur_Codigo, A.Cur_Sigla, A.Cur_Nome, ") SQL.Append(" A.Cur_Ativo, A.Tipo_Codigo, ") SQL.Append(" B.Cur_Nome(CURSO, B.Cur_Ementa) ") SQL.Append(" FROM CONACC.dbo.TB_Cursos A ") SQL.Append(" INNER JOIN FECOP.dbo.C_Cursos B ON (B.Cur_Codigo = A.Cur_Codigo) ") Cx.ConnectionString = ConfigurationSettings.AppSettings("cStrConexao") Cm.Connection = Cx Cm.CommandText = SQL.ToString Da.SelectCommand = Cm Da.Fill(Ds) DataGrid1.DataSource = Ds DataGrid1.DataBind() Em meu Web.config minha string de Conexão está assim: <add key="cStrConexao" value="server=MEU_SERVIDOR;uid=USUÁRIO;pwd=SENHA;database=FECOP"/> Porém, está me retornando o seguinte erro: Cannot find either column "B" or the user-defined function or aggregate "B.Cur_Nome", or the name is ambiguous. Como posso corrigir isso? Grato, Ilano. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Janeiro 28, 2009 Você terá que utilizar o Owner para fazer consulta em dois bancos distintos. A consulta esta da mesma forma no Sql Server e funciona? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Ilano 0 Denunciar post Postado Janeiro 29, 2009 Olá quintelab, Bom, no SQL Server o código está como abaixo e funciona direitinho: SELECT A.Cur_Codigo, A.Cur_Sigla, A.Cur_Nome, A.Cur_Ativo, A.Tipo_Codigo, B.Cur_Nome CURSO, B.Cur_Ementa FROM CONACC.dbo.TB_Cursos A INNER JOIN FECOP.dbo.C_Cursos B ON (B.Cur_Codigo = A.Cur_Codigo) Mas, onde uso o OWNER? Pois já coloquei em todas as posições e sempre dá ero, mesmo no SQL Server, por exemplo: SELECT A.Cur_Codigo, A.Cur_Sigla, A.Cur_Nome, A.Cur_Ativo, A.Tipo_Codigo, B.Cur_Nome CURSO, B.Cur_Ementa FROM OWNER.CONACC.dbo.TB_Cursos A INNER JOIN OWNER.FECOP.dbo.C_Cursos B ON (B.Cur_Codigo = A.Cur_Codigo) Aparece o erro: Could not find server 'OWNER' in sysservers. Execute sp_addlinkedserver to add the server to sysservers. Só fazendo uma correção no post anterior a linha SQL.Append(" B.Cur_Nome(CURSO, B.Cur_Ementa) ") está errada, deveria ser SQL.Append(" B.Cur_Nome CURSO, B.Cur_Ementa "). Compartilhar este post Link para o post Compartilhar em outros sites
Ilano 0 Denunciar post Postado Janeiro 29, 2009 Cara, deu certo! Depois q eu vi, era só a questão do parêntese mesmo. brigado pela atenção! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites