29

Есть ли способ открыть файл .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

7 ответов7

12

Привет Да, можно открыть любой сервер 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»)

7

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

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

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

7

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

  1. Установите драйвер ODBC для SQLite из 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;')

как уже упоминалось выше.

7

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

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

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

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

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

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

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

1

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

1

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

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

-3

Поскольку SQLite является встроенной базой данных, ее невозможно открыть в Management Studio. И я не верю, что какой-либо сервер баз данных, кроме SQLServer, можно открыть из студии управления!

В качестве решения вы можете использовать SQLite Ado.NET Provider здесь http://sqlite.phxsoftware.com/

Вы можете написать хранимую процедуру CLR для своей базы данных, которая использует вышеуказанного провайдера для выполнения преобразований. В конце все должно быть сделано в одном запросе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .