Excel: como conectar-se a um sqlserver localDB

8

Eu criei um LocalDB com o qual posso trabalhar no MS sqlserver management studio 2014, no linqpad e no visual studio 2013.

Aqui está a parte da caixa de diálogo "propriedade da conexão" no SSMS, que mostra o nome do servidor:

GostariadepodermeconectaraessebancodedadosapartirdoExcel.Oproblemaéqueo"Data Connection Wizard" no Excel falha ao conectar-se.

Aqui, digitei o mesmo nome de servidor que foi fornecido pelas "propriedades da conexão" no SSMS ....

Eaquiestáoerroquerecebo...

Perguntas:

  • O excel pode se conectar a um localDB? Eu sei que CAN conecta a bancos de dados do SQL-servidor. Existe alguma limitação sobre o LocalDB que impede isso? Eu pensei que o objetivo do LocalDB era permitir o desenvolvimento sem o esforço de configurar um banco de dados independente.

  • Existe uma maneira alternativa de se conectar? Ou o nome do meu servidor requer alguma modificação irritante?

por Angelo 25.03.2015 / 16:11

2 respostas

6

O que é um P.I.T.A gratuito!

Consegui fazer isso funcionar usando o "Data Connection Wizard" seguindo estas etapas ...

  1. Selecione "Outro / Avançado" no Assistente de conexão de dados e, em seguida, pressione "próximo" . Eu pensei que o localDB como criado pelo sqlserver express iria como "SQL Server". Aparentemente não! embora eu não consiga entender por quê.

  • Selecione "SQL Server Native Client 11.0" como provedor. OK, eu tinha apenas NÃO selecionado "SQL Server" na guia anterior. Também estou executando a versão 12 do sql server express e não há "12" na lista - talvez esteja se referindo estritamente à versão do cliente, com a implicação sutil de que o cliente 11 pode se conectar ao servidor 12? Mais um corte de papel cognitivo.
  • Digite o mesmo nome de servidor que funciona no SSMS ou linqpad. Selecione segurança integrada do Windows. O Test Connection agora funciona e é possível selecionar o banco de dados e despejar uma tabela no Excel.
  • Não é difícil fazer isso, mas parece não haver nenhum fluxo lógico para isso. Você tem que se debater até que algo clique.

        
    por 26.03.2015 / 15:15
    1

    Esta é a string de conexão (SQLServer 2012 / Excel 2013): Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true ;AttachDbFileName={mdf file full path}

    Oh no meu PC, eu tive que usar ;Trusted_Connection=Yes , pode não fazer nenhum sentido, já que tanto meu laptop quanto o PC estão executando as mesmas versões EXATAS do SQLServer e do Excel.

    Editar

    Não consigo reproduzir o erro (até instalei o SQL Server 2014 em uma VM e ainda funciona). A única opção que você pode adicionar e pode ajudá-lo é Provider=SQLNCLI11; OR Provider=SQLNCLI12; . Você pode descobrir qual versão está instalada executando sqllocaldb v na linha de comando.
    Isso produziria algo como: Microsoft SQL Server 2014 (12.0.2000.8)

        
    por 25.03.2015 / 22:06