【问题标题】:Log file of all transaction所有事务的日志文件
【发布时间】:2011-07-16 07:34:02
【问题描述】:

我使用 SPlinqFunction 工作到 SQL Server 2005

我想与 DB 建立任何连接。

数据库添加了信息被删除或编辑或添加(到数据库)在一个文本文件(日志)或做任何事情来跟踪数据库中举行的事件。

这如何通过 SQL 或 asp.net 工作

我喜欢任何与数据库保存输入/输出连接的连接

输入:发送到数据库的参数

output:DB 返回或编辑或删除DB中记录的

【问题讨论】:

  • Aummmmmmmmmmm.. 你在说什么???请花一些时间来改善您的问题和您的姓名;)
  • 哪个“LINQ”? LINQ 到 SQL?英孚?什么?

标签: c# asp.net sql-server sql-server-2005 sql-server-2008


【解决方案1】:

这个问题有点难以理解,但如果你只是想记录对数据库的所有 LINQ 访问,那么使用 LINQ-to-SQL 之类的东西,你可以使用 DataContext.Log 并指定一个编写器(但要小心 -不要直接给它文件,因为你会阻止并行活动)。

我个人认为这是一个坏主意 - 数据量通常会让人望而却步。数据库变得非常繁忙。

如果这还不够,并且您还有其他操作要记录 - 您可以尝试拦截 DbConnection,有点像 mvc-mini-profiler 中的配置文件连接。这适用于 LINQ-to-SQL(EF...更难)。但同样 - 数据量在这里是一个大问题。

【讨论】:

    【解决方案2】:

    创建您自己的小型 API,例如 OpenDBConnection();关闭数据库连接();并在您的 C# 程序中的代码周围使用它。向该方法添加日志功能,您基本上就完成了。

    正如@Marc 所说,数据量是这里的问题之一,实际上并不是实现,而是取决于您可能知道的项目当前和未来的规模。

    希望这会有所帮助。

    问候。

    【讨论】:

    • 如果我有 10000 个连接,这项工作对数据库来说成本非常高
    • 顺便说一下要花钱的。我再说一遍,这取决于您拥有的规模以及您是否真的想记录所有内容。
    猜你喜欢
    • 1970-01-01
    • 2022-12-28
    • 2010-11-15
    • 2020-10-28
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多