背景
我的后端在SQL Server 2012中有一个数据库,它有大约20个表(可能会及时增加),并且每个表最初可能会增加大约100 - 1000行。
现在,我的一位同事开发了一个使用该数据库的Web应用程序,让客户端进行CRUD和通常的业务逻辑。
问题
我的任务是为这个Web应用程序创建一个报告页面,我将要做的是让客户端能够从所有表中导出SQL中所有深层嵌套对象的所有数据,或者只导出所有列或者只有少数......以excel,pdf和其他格式在未来。我可能还需要在我的业务逻辑中查询第三方以收集更多信息(暂时脱离上下文)。
我可以做些什么来实现上述目标?
我所知道的
我无法想到任何 高效且可扩展的 解决方案,因为它将涉及100个列和20个表。我只能想到为我可能需要的内容添加100个视图,但它也不会发出声音。
我应该查看BI或SQL报告,还是应该在使用ORM之类的代码中完成?或者是否已经有任何开源代码用于 通用操作 我完全感到困惑。
请注意我问的是使用什么而不是如何使用。希望我没有冒犯任何人。
答案 0 :(得分:-1)
如果您不关心客户端是否可以访问您的所有数据库对象名称,您可以自己编写一些内容而不需要太多努力。如果要创建页面,可以查询系统视图以获取所有表和列名称的列表,以填充某种过滤(下拉列表,列表框等)。
您可以获得所有表格的列表:
latestActivity
您可以获得每个表的所有列的列表:
select object_id, name from sys.tables
object_id是视图之间的公共密钥。
如果您打算通过SQL导出,那么您可以根据导出要求编写一些动态SQL。