C# 使用SQLite进行日志记录
我想使用SQLite作为WCF服务日志记录的数据库后端。一切看起来都很好,但如何从实际系统中提取数据库日志文件,而不锁定数据库以检查/分析日志?这个系统似乎负载非常大,每次我尝试获取数据库日志文件时,它都会被锁定。SQLite允许多个进程/应用程序打开同一个数据库文件进行读写(写入时会涉及一些锁定,但这不是典型的有大问题的情况) 您应该能够让日志记录过程将新行连续记录到数据库中,同时让卸载/提取过程将旧行复制到其他位置 但是,如果您不应该在数据库打开时使用标准复制功能将其复制为文件,因为它很可能会损坏它(在Windows上,由于严格锁定,甚至可能不可能) 相反,让卸载过程使用标准的SQLite API(或某些支持SQLite的脚本语言)连接到数据库,使用该API读取行,并在其他地方创建该数据的副本,例如在另一个SQLite数据库或大型“真实”SQL数据库(如MySQL、Postgres或MSSQL)中(或在文本文件中,如果愿意的话).使用SQLite的API来提取数据,而不必锁定数据库。您现在可以使用SQLite的模式来同时读取和写入SQLite数据库 使用WAL代替回滚日志有其优点和缺点。优点包括:C# 使用SQLite进行日志记录,c#,asp.net,.net,sqlite,rdbms,C#,Asp.net,.net,Sqlite,Rdbms,我想使用SQLite作为WCF服务日志记录的数据库后端。一切看起来都很好,但如何从实际系统中提取数据库日志文件,而不锁定数据库以检查/分析日志?这个系统似乎负载非常大,每次我尝试获取数据库日志文件时,它都会被锁定。SQLite允许多个进程/应用程序打开同一个数据库文件进行读写(写入时会涉及一些锁定,但这不是典型的有大问题的情况) 您应该能够让日志记录过程将新行连续记录到数据库中,同时让卸载/提取过程将旧行复制到其他位置 但是,如果您不应该在数据库打开时使用标准复制功能将其复制为文件,因为它很可能
请告诉我,我可以连接ot SQLite并将其复制到另一个SQLite数据库吗?