É possível abrir um banco de dados SQLite no Microsoft SQL Server Management Studio?

33

Existe uma maneira de abrir um arquivo .db (arquivo de banco de dados SQLite) no Microsoft SQL Server Management Studio?

No momento, temos um processo que captura os dados de um banco de dados do Microsoft SQL Server e os coloca em um arquivo de banco de dados SQLite que será usado por um aplicativo posteriormente.

Existe uma maneira de abrir o arquivo de banco de dados SQLite para que ele possa ser comparado aos dados dentro do banco de dados SQL Server ... usando apenas uma consulta SQL?

Existe um plug-in para o microsoft sql management studio? Ou talvez haja outra maneira de fazer a mesma tarefa usando apenas uma consulta.

No momento, temos que escrever dois scripts ... um para o banco de dados do servidor sql e outro para o banco de dados sqlite ... depois pegue a saída de cada um no mesmo formato e coloque-os em seu próprio arquivo de planilha do OpenOffice. Finalmente, comparamos os dois arquivos para ver se há alguma diferença. Talvez haja uma maneira melhor de fazer isso.

Editar: as colunas e os layouts da tabela são diferentes, portanto, o uso da combinação de http://www.codeproject.com/KB/database/convsqlservertosqlite.aspx e http://www.sqlitecompare.com/ não funcionará aqui.

PS: Muitos aplicativos usam o SQLite internamente: usuários conhecidos do SQLite

Brian T Hannan
fonte
1
Você já tentou o SQL Server Compact / SQLite Toolbox visualstudiogallery.msdn.microsoft.com/…
SarjanWebDev
Você tentou antes de nos perguntar? Se você não tem um banco de dados SQLite para experimentá-lo com, este é um bom exemplo ... chinookdatabase.codeplex.com/downloads/get/557773
MAWG

Respostas:

13

Oi Sim, é possível abrir qualquer servidor sql no Management Studio quando você tiver o driver odbc correto para fazer isso. Crie uma conexão ODBC para o arquivo * .db3 e chame-o de algo como SQLite; tente esta é uma janela de consulta

- precisa ser uma conexão odbc do sistema, não usuário

EXEC sp_addlinkedserver 
   @server = 'SQLite', -- the name you give the server in studio 
   @srvproduct = '',
   @provider = 'MSDASQL', 
   @datasrc = 'SQLite' -- the name of the system odbc connection you created
GO

É assim que você obtém os dados. Você também pode criar visualizações usando este sql, se quiser

SELECT * FROM OPENQUERY (SQLite, 'SELECT * FROM tbl_Postcode')

Marca
fonte
13

O OP está pedindo uma maneira de consultar entre bancos de dados e, portanto, eu entendo as respostas do servidor vinculado. No entanto, se você está aqui porque simplesmente deseja abrir um banco de dados SQLite com MSSMS, é muito mais fácil do que isso.

Me chame de preguiçoso, mas todas essas respostas são meio trabalhosas e / ou exigem coisas que você pode não querer fazer, ter acesso a todos os casos ou apenas a coisa errada a fazer se tudo o que você procura é algo melhor do que o DB Browser For SQLite, como MSSMS.

Basta usar isso: SQLServerCompactSQLiteToolboxforSSMS

https://marketplace.visualstudio.com/items?itemName=ErikEJ.SQLServerCompactSQLiteToolboxforSSMS#overview

Abra a caixa de ferramentas compacta Abra a caixa de ferramentas compacta

Adicionar uma conexão adicionar conexão

Navegue para o arquivo

insira a descrição da imagem aqui

maplemale
fonte
7

Você pode criar um servidor vinculado, se você tiver um provedor para SQLite que o SQL Server aceitará.

Conecte-se ao seu banco de dados e navegue através de "Objetos do servidor", "Servidores vinculados" e adicione um novo servidor vinculado. Você pode usar o SQL Server para consultar o banco de dados SQLite e comparar os resultados diretamente.

Aqui está um tutorial para o MySQL, por isso, se você pode criar uma conexão ODBC para SQLite, estará pronto.

ta.speot.is
fonte
7

Se você não conseguir instalar um DNS do sistema, as seguintes etapas deverão funcionar:

  1. Instale o driver ODBC do SQLite a partir do canal Werner (32 e 64 bits?)
  2. No SSMS, vá para Objetos do servidor> Servidores vinculados> Novo servidor vinculado ... Novo servidor vinculado ...
  3. Na janela, digite:
    • Servidor vinculado: EXEMPLO (ou qualquer coisa)
    • Fornecedor: Microsoft OLE DB Provider para Drivers ODBC
    • Nome do produto: exemplo (ou qualquer coisa)
    • Cadeia de caracteres do provedor: Driver=SQLite3 ODBC Driver;Database=full/path/to/db; Propriedades do servidor vinculado

Agora você deve poder consultar o banco de dados SQLite com

SELECT * FROM OPENQUERY(EXAMPLE, 'SELECT * FROM tbl_Postcode;')

como acima mencionado.

PaloDravecky
fonte
para qualquer pessoa que use esse método, use barras invertidas em vez de barras invertidas no caminho completo para o banco de dados
gordy
1

É possível abrir outro tipo de banco de dados no Management Studio. Abri um banco de dados Informix, usando um servidor vinculado ao servidor Informix.

Mircea
fonte
1

Você precisará de um driver ODBC para SQLite antes de poder configurar um servidor vinculado, mas depois de instalar um desses no servidor sql, é relativamente fácil configurar um servidor vinculado usando-o.

Exemplo usando o banco de dados SQLite "SpiceWorks"

Jonathan
fonte