Можно ли открыть базу данных SQLite из Microsoft SQL Server Management Studio?


33

Есть ли способ открыть файл .db (файл базы данных SQLite) из Microsoft SQL Server Management Studio?

Прямо сейчас у нас есть процесс, который будет собирать данные из базы данных Microsoft SQL Server и помещать их в файл базы данных SQLite, который впоследствии будет использоваться приложением.

Есть ли способ открыть файл базы данных SQLite, чтобы его можно было сравнить с данными в базе данных SQL Server ... используя только один запрос SQL?

Есть ли плагин для студии управления Microsoft SQL? Или, может быть, есть другой способ выполнить ту же задачу, используя только один запрос.

Сейчас нам нужно написать два сценария: один для базы данных sql-сервера и один для базы данных sqlite ... затем взять выходные данные каждого из них в одном и том же формате и поместить их каждый в отдельный файл электронной таблицы OpenOffice. Наконец, мы сравниваем два файла, чтобы увидеть, есть ли различия. Возможно, есть лучший способ сделать это.

Изменить: Столбцы и макеты таблицы отличаются, поэтому использование http://www.codeproject.com/KB/database/convsqlservertosqlite.aspx и http://www.sqlitecompare.com/ не будет работать здесь.

PS Многие приложения используют SQLite для внутренних целей: известные пользователи SQLite


1
Пробовали ли вы SQL Server Compact / SQLite Toolbox visualstudiogallery.msdn.microsoft.com/…
SarjanWebDev

Вы пробовали это прежде, чем спросить нас? Если у вас нет базы данных Sqlite, чтобы попробовать ее, это хороший пример ... chinookdatabase.codeplex.com/downloads/get/557773
Mawg

Ответы:


13

Привет Да, можно открыть любой сервер sql из Management Studio, когда у вас есть правильный драйвер odbc для этого. Создайте ODBC-соединение с файлом * .db3 и назовите его как SQLite, затем попробуйте это окно запроса

- должно быть соединение системы odbc, а не пользователь

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

Это то, как вы получаете данные, вы можете создавать представления, используя этот sql, если хотите

SELECT * FROM OPENQUERY (SQLite, «SELECT * FROM tbl_Postcode»)


13

ОП запрашивает способ запроса между БД, и поэтому я понимаю ответы связанных серверов. Однако, если вы здесь, потому что вы просто хотите открыть базу данных SQLite с помощью MSSMS, это намного проще, чем это.

Называй меня ленивым, но все эти ответы довольно трудоемки и / или требуют того, чего ты, возможно, не хочешь делать, в каждом случае имеешь доступ, или просто неправильно, если все, что ты ищешь, - это что-то лучше чем БД Браузер Для SQLite, таких как MSSMS.

Просто используйте это: SQLServerCompactSQLiteToolboxforSSMS

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

Откройте компактную панель инструментов Откройте компактную панель инструментов

Добавить соединение добавить соединение

Перейдите к файлу

введите описание изображения здесь


7

Возможно, вы захотите создать связанный сервер, если у вас есть поставщик SQLite, который будет принимать SQL Server.

Подключитесь к своей базе данных, затем перейдите через «Объекты сервера», «Связанные серверы» и добавьте новый связанный сервер. Затем вы можете использовать SQL Server для запроса базы данных SQLite и непосредственного сравнения результатов.

Вот учебник для MySQL, так что если вы можете создать ODBC-соединение для SQLite, тогда вам будет хорошо.


7

Если вы не можете установить системный DNS, тогда должны работать следующие шаги:

  1. Установите драйвер SQLite ODBC из Ch. Вернер (32-х и 64-х битный?)
  2. В SSMS перейдите на Объекты сервера> Связанные серверы> Новый связанный сервер ... Новый связанный сервер ...
  3. В окне введите:
    • Связанный сервер: ПРИМЕР (или что-нибудь)
    • Поставщик: поставщик Microsoft OLE DB для драйверов ODBC
    • Название продукта: пример (или что-нибудь)
    • Строка поставщика: Driver=SQLite3 ODBC Driver;Database=full/path/to/db; Свойства связанного сервера

Теперь вы должны иметь возможность запрашивать базу данных SQLite с

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

как указано выше.


для любого, кто использует этот метод, используйте прямые косые черты вместо обратных косых черт в полном пути к БД
Горди

1

В Management Studio можно открыть базу данных другого типа. Я открыл базу данных Informix, используя связанный сервер с сервером Informix.


1

Вам понадобится ODBC-драйвер для SQLite, прежде чем вы сможете настроить связанный сервер, но как только вы установите один из них на ваш sql-сервер, сравнительно легко настроить связанный сервер с его использованием.

Пример использования базы данных SQLite "SpiceWorks"

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.