से निर्यात करना SQLite डेटाबेस SQL Server (दोनों संरचना और डेटा) में माइग्रेट करने का कोई उपकरण है?SQLite से SQL Server
उत्तर
SQLite में कमांड लाइन पर चलाने के लिए .dump विकल्प है। हालांकि मैं SQLite डेटाबेस प्रबंधित करने के लिए SQLite Database Browser एप्लिकेशन का उपयोग करना पसंद करता हूं। आप संरचना और सामग्रियों को एक .sql फ़ाइल में निर्यात कर सकते हैं जिसे किसी भी चीज़ के द्वारा पढ़ा जा सकता है। फ़ाइल> निर्यात> डेटाबेस को SQL फ़ाइल में।
SQLite .dump
कमांड डेटाबेस की संपूर्ण सामग्री को ASCII टेक्स्ट फ़ाइल के रूप में आउटपुट करेगा। यह फ़ाइल मानक SQL प्रारूप में है, इसलिए इसे किसी भी SQL डेटाबेस में आयात किया जा सकता है। इस पृष्ठ पर अधिक विवरण: sqlite3
SQLite प्रबंधक, फ़ायरफ़ॉक्स ऐड-ऑन: यदि आप एक SQL स्क्रिप्ट में एक SQLite डेटाबेस का निर्यात करने की अनुमति देता है।
डाटा बेस> निर्यात डाटाबेस फाइल करने के लिए> निर्यात
(सुधार फ़ायरफ़ॉक्स 35 bugg के रूप में निम्नलिखित वेब पेज के लिए संकेत मिलता है विस्तार कोड को दूर करने के लिए बाध्य: How to fix your optional sqlite manager module to work)
कमांड लाइन:
sqlite3 DB_name .dump > DB_name.sql
एसक्यूएल स्क्रिप्ट में एसक्लाइट डेटाबेस निर्यात करता है।
यूआरएल से: http://doc.ubuntu-fr.org/sqlite।
उत्कृष्ट उत्तर @ AlbanMar31। यह अच्छी तरह से काम कर रहा है। –
ऐड ऑन अब मृत प्रतीत होता है, फ़ायरफ़ॉक्स संस्करण 57.0 इसे असंगत और अनुपयोगी के रूप में दिखाता है ... –
मैं SQLite प्रबंधक का उपयोग करें, फ़ायरफ़ॉक्स ऐड-ऑन लेकिन Fk एसक्यूएल सर्वर में काम नहीं कर रहा मैं के बाद एक मैं कई FK साथ 100 से अधिक तालिका है स्क्रिप्ट को संशोधित करने के लिए है .. वहाँ एक है के आसपास नया काम
मुझे पता है कि यह पुराना धागा है, लेकिन मुझे लगता है कि यह समाधान भी यहां होना चाहिए।
- SQLite के लिए ODBC ड्राइवर स्थापित 64 या सी के लिए
- भागो odbcad32: \ Windows \ SysWOW64 \ odbcad32.exe x86 के लिए
- सिस्टम DSN है, जहां आप SQLite3 ODBC ड्राइवर
- चयन तो फिर तुम भरने बनाएं अप प्रपत्र जहां डेटाबेस नाम SQLite डेटाबेस
फिर एसक्यूएल सर्वर में sysadmin अंतर्गत चलाने के लिए filepath है
USE [master]
GO
EXEC sp_addlinkedserver
@server = 'OldSQLite', -- connection name
@srvproduct = '', -- Can be blank but not NULL
@provider = 'MSDASQL',
@datasrc = 'SQLiteDNSName' -- name of the system DSN connection
GO
फिर आप सामान्य प्रश्न के रूप में अपने प्रश्नों को चला सकते हैं उदा।
SELECT * INTO SQLServerDATA FROM openquery(SQLiteDNSName, 'select * from SQLiteData')
या आप बड़े टेबल के लिए this जैसे कुछ का उपयोग कर सकते हैं।
चुनें * ओपन एसक्यूएल से SQLServerDATA (OldSQLite, 'SQLiteData से चुनें *) ---------- --------- और आप 64 बिट्स के लिए ड्राइवर स्थापित कर सकते हैं और 64 बिट्स के लिए ओडीबीसी बना सकते हैं (system32 फ़ोल्डर में odbcad32 - SQLite3 ओडीबीसी चालक) –
एक विचार ऐसा कुछ करता है: - एसक्यूएल लाइट में स्क्वामा देखें और CREATE TABLE कमांड प्राप्त करें। - SQL सर्वर में एसक्यूएल को निष्पादित करें, प्रत्येक पंक्ति के लिए एक INSERT स्टेटमेंट बनाने वाला ट्रैवल डेटा। (parsing sql भी)
यह कोड बीटा है, क्योंकि कोई पता प्रकार डेटा नहीं है, और @parameter और कमांड ऑब्जेक्ट का उपयोग नहीं है, लेकिन चलाएं।
(आप संदर्भ डालने और स्थापित System.Data.SQLite की जरूरत है;)
C#: सम्मिलित सिर में इस कोड (या neccesari) सीएस
प्रणाली का उपयोग करते हुए;
सिस्टम का उपयोग कर। Coollections.Generic;
सिस्टम.Text का उपयोग कर;
सिस्टम.डाटा का उपयोग कर;
System.Data.SqlClient का उपयोग कर;
System.Data.SQLite का उपयोग कर;
सिस्टम का उपयोग कर। थ्रेडिंग;
System.Text.RegularExpressions का उपयोग कर;
System.IO का उपयोग कर;
log4net का उपयोग कर;
System.Net का उपयोग कर;
public static Boolean SqLite2SqlServer(string sqlitePath, string connStringSqlServer)
{
String SqlInsert;
int i;
try
{
string sql = "select * from sqlite_master where type = 'table' and name like 'YouTable in SQL'";
string password = null;
string sql2run;
string tabla;
string sqliteConnString = CreateSQLiteConnectionString(sqlitePath, password);
//sqliteConnString = "data source=C:\\pro\\testconverter\\Origen\\FACTUNETWEB.DB;page size=4096;useutf16encoding=True";
using (SQLiteConnection sqconn = new SQLiteConnection(sqliteConnString))
{
sqconn.Open();
SQLiteCommand command = new SQLiteCommand(sql, sqconn);
SQLiteDataReader reader = command.ExecuteReader();
SqlConnection conn = new SqlConnection(connStringSqlServer);
conn.Open();
while (reader.Read())
{
//Console.WriteLine("Name: " + reader["name"] + "\tScore: " + reader["score"]);
sql2run = "" + reader["sql"];
tabla = "" + reader["name"];
/*
sql2run = "Drop table " + tabla;
SqlCommand cmd = new SqlCommand(sql2run, conn);
cmd.ExecuteNonQuery();
*/
sql2run = sql2run.Replace("COLLATE NOCASE", "");
sql2run = sql2run.Replace(" NUM", " TEXT");
SqlCommand cmd2 = new SqlCommand(sql2run, conn);
cmd2.ExecuteNonQuery();
// insertar los datos.
string sqlCmd = "Select * From " + tabla;
SQLiteCommand cmd = new SQLiteCommand(sqlCmd, sqconn);
SQLiteDataReader rs = cmd.ExecuteReader();
String valor = "";
String Valores = "";
String Campos = "";
String Campo = "";
while (rs.Read())
{
SqlInsert = "INSERT INTO " + tabla;
Campos = "";
Valores = "";
for (i = 0; i < rs.FieldCount ; i++)
{
//valor = "" + rs.GetString(i);
//valor = "" + rs.GetName(i);
Campo = "" + rs.GetName(i);
valor = "" + rs.GetValue(i);
if (Valores != "")
{
Valores = Valores + ',';
Campos = Campos + ',';
}
Valores = Valores + "'" + valor + "'";
Campos = Campos + Campo;
}
SqlInsert = SqlInsert + "(" + Campos + ") Values (" + Valores + ")";
SqlCommand cmdInsert = new SqlCommand(SqlInsert, conn);
cmdInsert.ExecuteNonQuery();
}
}
}
return true;
} //END TRY
catch (Exception ex)
{
_log.Error("unexpected exception", ex);
throw;
} // catch
}
- 1. SQL-Server 2005 से SQL-Server 2008
- 2. SQL Server
- 3. SQL Azure से SQL Server
- 4. SQL Server
- 5. SQL सर्वर 2008 से SQL Server 2005
- 6. MySQL और SQL Server
- 7. VIEW (SQL Server 2005)
- 8. SQL Server 2008 डेटाबेस
- 9. HierarchyId (SQL Server 2008)
- 10. SQL सर्वर 2005 (SQL Server 2005)
- 11. SQL Server 2008 R2 एक्सप्रेस
- 12. sqlproj (SQL Server 2012) स्क्रिप्ट
- 13. किसी Microsoft SQL Server डेटाबेस
- 14. SQLite और SQL
- 15. SQLite बनाम SQL सर्वर
- 16. "क्लॉज के साथ" SQL Server 2008
- 17. SQL Server 2008 R2 प्रबंधन उपकरण (पूर्ण)
- 18. SQL Server 2008 को 2008 R2
- 19. SQL सर्वर 2000 डेटाबेस को SQL Server 2000
- 20. SQL सर्वर 2005 को SQL Server 2005 को डाउनग्रेड करना
- 21. पोस्टग्रेज़ से SQL Server 2008 में माइग्रेट करना
- 22. वर्चर्स फ़ील्ड से एक वर्ण को निकालें SQL Server 2008
- 23. SQL Server 2000 में परिवर्तित datetime HHMM
- 24. NHibernate, Fluent NHibernate और SQL Server 2008
- 25. SQL कोड संग्रहीत प्रक्रिया को खोलने और SQL Server
- 26. SQL सर्वर 2005 के साथ SQL Server 2008 संगतता
- 27. एक SQL सर्वर से दूसरे SQL Server से निर्यात तालिका डेटा
- 28. आरओआर SQLite से PostgreSQL
- 29. SQLite - फ़ाइल से बहु-लाइन SQL स्क्रिप्ट चलाएं?
- 30. SQL Server 2008 R2 किसी विशिष्ट स्थान में कॉलम जोड़ें
निर्यात की गई फ़ाइल को वाक्यविन्यास में विविधता के लिए कुछ tweaking की आवश्यकता है लेकिन कुछ भी जटिल नहीं है। धन्यवाद –
तकनीकी रूप से, SQLite खोल SQLite नहीं है लेकिन SQLite से जुड़ा एक कंसोल एप्लिकेशन जो केवल एक लाइब्रेरी है। – Benoit
यह मुझे सही दिशा में इंगित करता था, लेकिन मैं वाक्यविन्यास की तलाश में था, इसलिए मैं इसे यहां शामिल करूंगा: 'sqlite3 my_db.db -batch ".dump"> my_db.sql' –