是否有指定transaction isolation level当水晶报表查询一个SQL Server 2005数据库没有诉诸于以下任何一种方式:使用Crystal Reports的SQL Server 2005:设置事务隔离级别
- 封装报告的在查询本身之前执行
SET TRANSACTION ISOLATION LEVEL...
存储过程的查询 - 手写Crystal Reports中的SQL查询来执行
SET TRANSACTION ISOLATION LEVEL...
是否有指定transaction isolation level当水晶报表查询一个SQL Server 2005数据库没有诉诸于以下任何一种方式:使用Crystal Reports的SQL Server 2005:设置事务隔离级别
SET TRANSACTION ISOLATION LEVEL...
存储过程的查询SET TRANSACTION ISOLATION LEVEL...
我能够在一个Command对象以嵌入此:
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
--Command objects need to return a value
SELECT GetDate()
这Command对象是除在数据库专家,我“写”查询。
您会详细说明设置隔离级别的必要性吗?
感谢您的回答!这个命令是否会在真正的查询之前执行*并且在相同的连接中(事务隔离级别是基于连接的连接)?我试着将它添加到一个新的报告中,并且Crystal Reports向我提供了“您当前的链接配置包含多个起点”警告,从而让我想知道哪一个首先执行。 – 2009-11-20 16:54:57
我希望设置事务隔离级别,因为我们的其中一个报表具有长时间运行的查询(约2分钟),可以从常用表中选择所有行。因为这会锁定(共享锁)这个经常使用的表中的每一行,所以在查询完成之前,没有其他人能够更新它。 – 2009-11-20 16:55:29
老实说,我不知道它什么时候会执行相对于'主'查询。 这是你可以测试的东西吗? 另一个想法:或许您可以为报告生成的查询创建一个特殊帐户,并设置此帐户隔离级别。 – craig 2009-11-20 17:27:14
你用什么来连接服务器? (即ADO.NET通过SqlClient,ODBC,OleDb?JDBC?等) – chadhoc 2009-11-18 16:16:21
@chadhoc:我正在尝试通过Crystal Reports应用程序完成此操作。我不写代码来使用你提到的数据库连接库。当** it **使用数据库连接库时,我希望Crystal Reports自动配置其数据库连接。 – 2009-11-18 16:38:20
废话,我很害怕 - 不幸的是,我在那里没有太多的帮助。我想如果你通过CR使用ODBC,你可以选择做一些注册表更新,或者在系统上创建一个DSN来指定你想要使用的iso级别,但是如果你使用其他任何东西(即OleDb,JDBC等)我不会有太大的帮助。 – chadhoc 2009-11-18 21:09:39