问题列表 - 第22907页

调试严格的LINQ-to-SQL超时

我在尝试执行LINQ(-to-SQL)查询时遇到超时错误

System.Data.SqlClient.SqlException:超时已过期.操作完成之前经过的超时时间或服务器没有响应.

现在,这是不是只是一个缓慢的查询的情况:

  • 我在SQL Management Studio中运行等效的SQL并快速完成(2秒)
  • 我将我的CommandTimeout设置为2分钟.
  • 当我在单元测试中执行完全相同的查询时,它会成功且快速地完成.那就是:当我在运行此查询以及其他查询时,我只会获得此超时.超时始终发生在同一个呼叫中.

最后一项让我觉得我遇到了某种类型的数据库端死锁:查询被某个地方的锁阻塞,超时时间过去,导致停止连接.

这个想法的问题在于我在DataContext中做选择导致问题.(我确实在不同的数据库/ DataContexts中发生了插入.)我也没有显式事务.这让我有点沮丧:查询行为看起来就像死锁一样,但我从未遇到过以前由某种事务隔离问题引起的死锁 - 这看起来不像这里的情况(乍一看).

我正在寻找有关如何调试此问题的建议.我应该考虑什么样的事情来确定这个问题的原因?

编辑

一些可能有用的注释:

  • 我正在查询引用的视图:
    • 同一数据库中的其他视图
    • 通过链接服务器指向另一个数据库中的表的同义词.
  • 此视图union用于将多个查询的结果连接在一起

结语

我最终通过重新处理查询来修复核心问题.原来不止一次地调用几张桌子(通过不同的视图).重新设计的版本绕过了所有这些,超时消失了.

linq sql-server deadlock sql-server-2005 linq-to-sql

5
推荐指数
1
解决办法
1754
查看次数

ntohs()和ntohl()等价?

在C#中是否有网络主机转换功能?谷歌搜索并没有找到太多.:P

c# htonl

32
推荐指数
2
解决办法
2万
查看次数

处理像db4o这样的对象数据库中的数据维护

我不断发现使用像db4o这样的对象数据库非常困惑的一件事是你应该如何处理通常由SQL/PL-SQL处理的复杂迁移.

例如,假设您在关系数据库中有一个名为my_users的表.最初您有一个名为"full_name"的列,现在您的软件在V2中,您希望删除此列,在空白处拆分全名,并将第一部分放在名为"first_name"的列中,将第二部分放在列中名为last_name.在SQL中,我只需填充"first_name"和"second_name"列,然后删除名为"full_name"的原始列.

我怎样才能在像db4o这样的东西上做到这一点?我是否编写了一个Java程序,脚本查找User.class的所有对象,在设置first_name和last_name时将full_name设置为null?当我执行下一个svn提交时,将没有与full_name对应的字段/ bean属性,这是一个问题吗?似乎在我的"架构"更改的生产应用程序中使用它我想编写一个脚本将数据从版本x迁移到版本x + 1然后在版本x + 2中实际删除我想要的属性摆脱版本x + 1,因为我无法编写Java脚本来修改不再属于我的类型的属性.

似乎问题的一部分是RDBMS基于一个简单的不区分大小写的基于字符串的名称来解析你所指的对象,在像Java这样的语言中,输入比这更复杂,如果getter你不能引用属性/ setter/field不是运行时加载的类的成员,所以你基本上需要在同一个脚本中有两个版本的代码(嗯,自定义类加载器听起来很痛苦),你的类的新版本属于另一个包(听起来很乱),或使用我提到的版本x + 1 x + 2策略(需要更多的计划).也许有一些明显的解决方案我从未从db4o文档中收集过.

有任何想法吗?希望这有一定道理.

db4o jdbc database-schema object-oriented-database

8
推荐指数
1
解决办法
1153
查看次数

如何编写包含双引号(")的Java字符串文字?

我收到编译时错误.

import java.util.regex.Matcher;
import java.util.regex.Pattern;

class gfile
 {
  public static void main(String args[]) {
    // create a Pattern
    Pattern p = Pattern.compile("<div class="dinner">(.*?)</div>");//some prob with this line


    // create a Matcher and use the Matcher.group() method
  String can="<tr>"+
                          "<td class="summaryinfo">"+

                                "<div class="dinner">1,000</div>" +
                                "<div style="margin-top:5px " +
                                 "font-weight:bold">times</div>"+
                            "</td>"+
                        "</tr>";

    Matcher matcher = p.matcher(can);
    // extract the group

    if(matcher.find())
     {
    System.out.println(matcher.group());
     }
  else
     System.out.println("could not find");
  }
}
Run Code Online (Sandbox Code Playgroud)

java regex compiler-errors

0
推荐指数
1
解决办法
286
查看次数

4
推荐指数
1
解决办法
8825
查看次数

UNIX时间戳的毫秒数

任何人都知道如何将时间戳1970(从Android的System.currentTimeMillis();)转换为UNIX时间戳(以毫秒为单位)?它只需要精确到一天.

我想我可以除以1000得秒,然后除以86400(一天中的秒数)来得到#天.但我不知道从那里去哪里.

非常感谢.

java android

6
推荐指数
3
解决办法
1万
查看次数

CSS-背景颜色不会填充到滚动div的顶部

我有一个div(带滚动条的页面子区域),它有一些文本,一个图像和一个表格.为div定义的背景颜色 -

<div style="background-color: white">
Run Code Online (Sandbox Code Playgroud)

不会将区域填充到顶部,滚动条的顶部箭头位于填充背景颜色的区域上方(大约是一条线的宽度).在顶部添加br可以修复它,但是移动的东西太远了.

我读了两个可能的解决方案 有人建议我为div设置一个固定的高度.每次我改变页面内容时,都需要通过反复试验来改变高度.下一个.另一个建议是在最后添加这个,就在/ div之前 -

</div>
<div class="clear"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

但那没有效果.

有几个不同的页面使用SSI加载到滚动区域,其中一些页面使用div,其中一些是浮点数和一些绝对值.

谢谢你的帮助.

编辑

添加以下内容,我没有意识到需要"清除",仍然无法正常工作

<style type="text/css">
.clear {
clear:both;
height:1px;
overflow:hidden;}
</style>
Run Code Online (Sandbox Code Playgroud)

广告

css background scrollbar

1
推荐指数
1
解决办法
4898
查看次数

为什么我的'hello world'Python C模块在除了IDLE之外的所有东西中都能正常工作?

我为Python编译了一个简单的hello world C模块,它在我尝试过但IDLE的所有内容中都能正常工作.这是我输入的测试方法:

>>> import hello
>>> hello.say_hello('Justin')
Run Code Online (Sandbox Code Playgroud)

我在命令提示符(我正在使用Windows),Eclipse的PyDev和PieDream中使用Python尝试了这一点,它们都打印出来Hello Justin!.但是,在IDLE中它不会打印任何东西 - 它只是给我提示.

setup.py我正在使用的模块来自此页面.我认为问题出在编译器上.我正在使用MinGW,我将其设置为.cfg文件中distutils的编译器.我从命令提示符构建模块:

python setup.py build
Run Code Online (Sandbox Code Playgroud)

得到

running build
running build_ext
building 'hello' extension
creating build
creating build\temp.win32-2.6
creating build\temp.win32-2.6\Release
C:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python26\include -IC:\Python26\PC -c hellomodule.c -o build\temp.win32-2.6\Release\hellomodule.o
writing build\temp.win32-2.6\Release\hello.def
creating build\lib.win32-2.6
C:\MinGW\bin\gcc.exe -mno-cygwin -shared -s build\temp.win32-2.6\Release\hellomodule.o build\temp.win32-2.6\Release\hello.def -LC:\Python26\libs -LC:Python26\PCbuild -lpython26 -lmsvcr90 -o build\lib.win32-2.6\hello.pyd
Run Code Online (Sandbox Code Playgroud)

我在想它可能与那里的-mno-cygwin部分有关,但我不确定.

关于为什么这个模块不能在IDLE中工作的任何想法或建议?我应该使用不同的编译器吗?

c python windows module mingw

2
推荐指数
2
解决办法
1009
查看次数

Java后缀计算器中的StackOverFlowError

以下类由另一个程序使用.访问它时,它会抛出StackOverFlowError.这是我在大学时必须做的一个后缀计算器的一部分.

非常感谢任何帮助,谢谢你提前.我是Java的新手,我不知道该怎么做.

码:

import java.util.Queue;
import java.util.Stack;

public class MyPostfixMachine implements PostfixMachineInterface {

    MyMathOperations mmo = new MyMathOperations();
    MyPostfixMachine mpm = new MyPostfixMachine();

    public String evaluate(Queue q) {
        if (q.isEmpty()) {//if the input is empty, terminate the program
            System.exit(0);
        }
        if (q.size() == 1) {//if there is only one number in the queue, return it as the solution
            if (mpm.isParsableToDouble(String.valueOf(q.remove()))) {
                return String.valueOf(q.remove());
            }
        }
        Stack<String> finalxp = new Stack<String>();//create an empty stack
        if (mpm.isParsableToDouble(String.valueOf(q.remove()))) {//if first element of queue …
Run Code Online (Sandbox Code Playgroud)

java stack-overflow queue calculator postfix-notation

0
推荐指数
1
解决办法
2071
查看次数

在objective-c中创建一个可调整大小的CGPoints数组

我试图在objective-c中创建一个可重复大小的CGPoints数组.我已经研究过使用NSMutableArray,但它似乎不允许调整大小.还有其他我可以使用的东西吗?

谢谢

arrays vector objective-c resizable

5
推荐指数
1
解决办法
6340
查看次数