سؤال

محاولة السهل النهج:

sqlite2 mydb.db .تفريغ | sqlite3 mydb الجديدة.db

حصلت على هذا الخطأ:

SQL خطأ بالقرب من خط 84802:لا يوجد مثل هذا العمود:Ð

في خط النص هو:

إدراج في vehiculo القيم(127548,'21K0065217',Ñ,'PA007808',65217,279,1989,3,468,'1998-07-30 00:00:00.000000','14/697/98-07',2,",1);

تخميني هو أن على 'داعش' دون ونقلت المشكلة.

أي فكرة ؟

PD:أنا تحت ويندوز الآن وأود أن استخدام سطر الأوامر بحيث يمكن مؤتمتة (هذه العملية سيتم القيام به على أساس يومي من قبل الخادم).

هل كانت مفيدة؟

المحلول

ببساطة فتح v2 بيانات sqlite3 الثنائية CLI ، ومن ثم حفظه.ملف قاعدة البيانات سيتم بشفافية هاجروا إلى v3.

أنها لا تعمل.

$sqlite3 db2
SQLite version 3.6.16
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
Error: file is encrypted or is not a database
sqlite> .q

و لا يتم تغيير الملف (على ما يبدو sqlite3 لم أستطع قراءتها).أعتقد الأصلي المشكلة هو خلل في sqlite2.

نصائح أخرى

ببساطة فتح v2 بيانات sqlite3 الثنائية CLI ، ومن ثم حفظه.ملف قاعدة البيانات سيتم بشفافية هاجروا إلى v3.

$ sqlite3 v2database.db
sqlite> .quit
$

ملاحظة:قد تحتاج إلى إدراج/حذف صف قبل الانسحاب إلى القوة التحديث.

حسنا لا أحد يجيب...في النهاية أنا في نهاية المطاف تعديل بلدي الأصلي النصي(الذي خلق sqlite2 قاعدة البيانات في المقام الأول) إلى إنشاء قاعدة البيانات مباشرة في sqlite3.

أعتقد أن سلسلة الكبيرة معالجة البرنامج النصي(كبيرة لأن مي قواعد البيانات 800mb و 200mb كل) يمكن القيام بهذه المهمة ، ولكن إنشاء قاعدة بيانات مباشرة كان أسهل بالنسبة لي.

حاولت أن تفعل ذلك من دون نوافذ التدخل:

*عن طريق الاتصال sqlite2 على القديم.ديسيبل ، وإرسال تفريغ مباشرة إلى ملف

*ثم اتصل sqlite3 جديدة.db و تحميل تفريغ مباشرة من الملف.

فقط في حالة ويندوز كان يعبث مع الأحرف على سطر الأوامر.

نفس النتيجة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top