0

我遇到了 SQL Server Express 2008 最奇怪的问题(至少对我来说很奇怪)。

问题如下:

在开发机器上,我使用 SQL Server 2008 Enterprise ....我从 WCF 服务获取一些数据并将该数据写入数据库(尽管很简单)....但是我应该指出,写作,它在单独的线程中完成。但是,无论如何在开发过程中没有问题......所有数据都在那里。

然后我在 Release 中设置所有内容(连接字符串 .\SQLEXPRESS,其他设置)并将其复制到安装了 SQL Server Express 的测试机器(因为我的应用程序是客户端应用程序,它应该与 Express 一起使用)......我运行程序……程序从服务中检索数据……当我查看数据库时……我大吃一惊……只写了一行(第一行从WCF 服务)。

我真的很感激任何帮助......我在这里陷入僵局。

4

4 回答 4

2

您是否能够分析 sql server 上实际调用的内容?

打开 sql server profiler,指向 sql express 实例并确保拉取 RPC:Completed 和 Sql Statement Completed。您可以取消选中其余默认值,这可能会告诉您它在服务器上的调用方式可能不同。

其他想法:命令类型是否正确?

顶部是怎么滑进去的?

于 2010-06-03T22:09:37.537 回答
1

你有没有机会设置(我知道这不太可能)

set ROWCOUNT 1 
于 2010-06-03T20:19:45.320 回答
1

仔细检查所有内容(尤其是连接字符串)。让您的应用程序输出一个日志文件,这可能有助于调试您的问题。

检查主数据库以确保条目不会无意中写入开发数据库。

于 2010-06-03T20:12:29.980 回答
0

好吧,有人会觉得这很有趣……

经过深入分析,发生了这样的事情:

我将正在将数据写入数据库的代码移到了与 GUI 相同的线程中,该线程在不同的线程中运行……没问题,它工作正常……它将所有数据写入数据库。

我进一步查看并在网上看到一篇文章说 SQL Express 只有一个调度程序(当然还有一个处理器等)......因此它不支持同时写入数据库的多个线程(任何人其他人对此了解更多?)...因此,解决方案可能是创建一个队列,并在它到达时将内容发送给它,并将数据一一写入数据库。

于 2010-06-04T11:49:22.827 回答