เป็นไปได้ไหมที่จะเปิดฐานข้อมูล SQLite จากภายใน Microsoft SQL Server Management Studio?


33

มีวิธีการเปิดไฟล์. db (ไฟล์ฐานข้อมูล SQLite) จากภายใน Microsoft SQL Server Management Studio หรือไม่

ตอนนี้เรามีกระบวนการที่จะดึงข้อมูลจากฐานข้อมูล Microsoft SQL Server และใส่ลงในไฟล์ฐานข้อมูล SQLite ที่จะใช้โดยแอปพลิเคชันในภายหลัง

มีวิธีการเปิดไฟล์ฐานข้อมูล SQLite เพื่อให้สามารถเปรียบเทียบกับข้อมูลภายในฐานข้อมูล SQL Server ... โดยใช้แบบสอบถาม SQL เดียวหรือไม่

มีปลั๊กอินสำหรับสตูดิโอการจัดการ sql microsoft หรือไม่? หรืออาจมีวิธีอื่นในการทำงานเดียวกันโดยใช้แบบสอบถามเพียงรายการเดียว

ตอนนี้เราต้องเขียนสองสคริปต์ ... หนึ่งสำหรับฐานข้อมูลเซิร์ฟเวอร์ sql และหนึ่งสำหรับฐานข้อมูล sqlite ... จากนั้นนำออกจากแต่ละในรูปแบบเดียวกันและวางไว้ในไฟล์สเปรดชีต OpenOffice ของตัวเอง สุดท้ายเราเปรียบเทียบสองไฟล์เพื่อดูว่ามีความแตกต่างหรือไม่ อาจมีวิธีที่ดีกว่าในการทำเช่นนี้

แก้ไข: คอลัมน์ตารางและเค้าโครงต่างกันดังนั้นการใช้คอมโบของhttp://www.codeproject.com/KB/database/convsqlservertosqlite.aspxและhttp://www.sqlitecompare.com/จะไม่ทำงานที่นี่

PS แอปพลิเคชั่นจำนวนมากใช้ SQLite ภายใน: ผู้ใช้ที่มีชื่อเสียงของ SQLite


1
คุณได้ลองใช้ SQL Server Compact / กล่องเครื่องมือ SQLite visualstudiogallery.msdn.microsoft.com/…แล้วหรือยัง
SarjanWebDev

คุณลองก่อนถามเรา หากคุณไม่มีฐานข้อมูล Sqlite ที่จะลองใช้นี่เป็นตัวอย่างที่ดี ... chinookdatabase.codeplex.com/downloads/get/557773
Mawg

คำตอบ:


13

สวัสดีใช่มันเป็นไปได้ที่จะเปิดเซิร์ฟเวอร์ sql ใด ๆ จากภายในสตูดิโอการจัดการเมื่อคุณมีไดรเวอร์ 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 * จาก OPENQUERY (SQLite, 'SELECT * FROM tbl_Postcode')


13

OP กำลังขอวิธีการสอบถามระหว่างฐานข้อมูลดังนั้นฉันจึงเข้าใจการตอบสนองของเซิร์ฟเวอร์ที่เชื่อมโยง อย่างไรก็ตามถ้าคุณอยู่ที่นี่เพราะคุณต้องการเปิดฐานข้อมูล 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. Werner (ทั้ง 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;')

ดังกล่าวข้างต้น


สำหรับทุกคนที่ใช้วิธีนี้ให้ใช้เครื่องหมายทับซ้ายแทนแบ็กสแลชใน full-path-to-db
gordy

1

เป็นไปได้ที่จะเปิดฐานข้อมูลประเภทอื่นใน Management Studio ฉันเปิดฐานข้อมูล Informix โดยใช้เซิร์ฟเวอร์ที่เชื่อมโยงกับเซิร์ฟเวอร์ Informix


1

คุณจะต้องใช้ไดรเวอร์ ODBC สำหรับ SQLite ก่อนที่คุณจะสามารถตั้งค่าเซิร์ฟเวอร์ที่เชื่อมโยงได้ แต่เมื่อคุณมีหนึ่งในนั้นที่ติดตั้งบนเซิร์ฟเวอร์ sql ของคุณมันค่อนข้างง่ายในการตั้งค่าเซิร์ฟเวอร์ที่เชื่อมโยงโดยใช้

ตัวอย่างการใช้ฐานข้อมูล SQLite "SpiceWorks"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.