优化MasterDB导出sqlite性能
This commit is contained in:
parent
abb3d6c2ef
commit
79db32b780
@ -1,6 +1,8 @@
|
||||
using Microsoft.Data.Sqlite;
|
||||
using System.Reflection;
|
||||
using System.Reflection.Metadata;
|
||||
using System.Text;
|
||||
using System.Transactions;
|
||||
|
||||
namespace EscudeTools
|
||||
{
|
||||
@ -200,7 +202,7 @@ namespace EscudeTools
|
||||
//db含有多个sheet,每个sheet中col存放标题(对应数据库中应该是字段),records存放数据(对应数据库中应该是记录)
|
||||
using SqliteConnection connection = new($"Data Source={path};");
|
||||
connection.Open();
|
||||
|
||||
using var transaction = connection.BeginTransaction();
|
||||
foreach (var sheet in db)
|
||||
{
|
||||
using (SqliteCommand createTableCommand = connection.CreateCommand())
|
||||
@ -259,6 +261,7 @@ namespace EscudeTools
|
||||
insertDataCommand.Parameters.Clear();
|
||||
}
|
||||
}
|
||||
transaction.Commit();
|
||||
return true;
|
||||
}
|
||||
private static string GetSQLiteColumnType(ushort type)
|
||||
|
@ -4,59 +4,16 @@
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
if (Directory.Exists(args[0]))
|
||||
{
|
||||
string[] files = Directory.GetFiles(args[0], "*.bin");
|
||||
foreach (string file in files)
|
||||
{
|
||||
ScriptManager smr = new();
|
||||
//目前不支持二次加载
|
||||
//Todo
|
||||
//修复
|
||||
if (smr.LoadScriptFile(file))
|
||||
{
|
||||
Console.WriteLine($"Load {file} Success");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($"Load {file} Failed");
|
||||
return;
|
||||
}
|
||||
|
||||
if (smr.ExportDatabase(Path.GetDirectoryName(args[0])))
|
||||
Console.WriteLine("Export Database Success");
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Export Database Failed");
|
||||
return;
|
||||
}
|
||||
|
||||
if (smr.ExportMessDatabase(Path.GetDirectoryName(args[0])))
|
||||
Console.WriteLine("Export Mess Database Success");
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Export Mess Database Failed");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//ScriptManager smr = new();
|
||||
//smr.LoadScriptFile(args[0]); //加载.bin文件
|
||||
//smr.ExportDatabase(Path.GetDirectoryName(args[0]));
|
||||
//smr.ExportMessDatabase(Path.GetDirectoryName(args[0]));
|
||||
//return;
|
||||
|
||||
|
||||
//if (Directory.Exists(args[0]))
|
||||
//{
|
||||
// string[] files = Directory.GetFiles(args[0], "db_*.bin");
|
||||
// DatabaseManager dm = new();
|
||||
// string[] files = Directory.GetFiles(args[0], "*.bin");
|
||||
// foreach (string file in files)
|
||||
// {
|
||||
// if (dm.LoadDatabase(file))
|
||||
// ScriptManager smr = new();
|
||||
// //目前不支持二次加载
|
||||
// //Todo
|
||||
// //修复
|
||||
// if (smr.LoadScriptFile(file))
|
||||
// {
|
||||
// Console.WriteLine($"Load {file} Success");
|
||||
// }
|
||||
@ -66,7 +23,7 @@
|
||||
// return;
|
||||
// }
|
||||
|
||||
// if (dm.ExportDatabase(0, Path.GetDirectoryName(args[0])))
|
||||
// if (smr.ExportDatabase(Path.GetDirectoryName(args[0])))
|
||||
// Console.WriteLine("Export Database Success");
|
||||
// else
|
||||
// {
|
||||
@ -74,11 +31,54 @@
|
||||
// return;
|
||||
// }
|
||||
|
||||
// if (smr.ExportMessDatabase(Path.GetDirectoryName(args[0])))
|
||||
// Console.WriteLine("Export Mess Database Success");
|
||||
// else
|
||||
// {
|
||||
// Console.WriteLine("Export Mess Database Failed");
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
|
||||
//}
|
||||
|
||||
|
||||
//ScriptManager smr = new();
|
||||
//smr.LoadScriptFile(args[0]); //加载.bin文件
|
||||
//smr.ExportDatabase(Path.GetDirectoryName(args[0]));
|
||||
//smr.ExportMessDatabase(Path.GetDirectoryName(args[0]));
|
||||
//return;
|
||||
|
||||
|
||||
if (Directory.Exists(args[0]))
|
||||
{
|
||||
string[] files = Directory.GetFiles(args[0], "db_*.bin");
|
||||
DatabaseManager dm = new();
|
||||
foreach (string file in files)
|
||||
{
|
||||
if (dm.LoadDatabase(file))
|
||||
{
|
||||
Console.WriteLine($"Load {file} Success");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($"Load {file} Failed");
|
||||
return;
|
||||
}
|
||||
|
||||
if (dm.ExportDatabase(0, Path.GetDirectoryName(args[0])))
|
||||
Console.WriteLine("Export Database Success");
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Export Database Failed");
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// if (args.Length == 0 || args.Length > 2)
|
||||
// {
|
||||
// Console.WriteLine("Invalid arguments. Use -h for help.");
|
||||
|
@ -2,7 +2,7 @@
|
||||
"profiles": {
|
||||
"EscudeTools": {
|
||||
"commandName": "Project",
|
||||
"commandLineArgs": "G:\\x221.local\\lab\\script"
|
||||
"commandLineArgs": "G:\\x221.local\\lab\\db"
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user