Sqlserver连接字符串中怎么设置CommandTimeout属性?

时间:2020-12-27 05:31:16
现在是通过Seasar把数据库操作封装了,不需要在程序里自己去连接数据库,所以也没有数据库的对象可用,只能在配置文件里进行设置,有知道怎么设置的吗?

Postgre SQL 数据库可以直接在配置文件的连接字符串中 进行设置。

但是在SQL Server中根本找不到这个属性,有人有办法吗?谢谢了!

<connectionString>"Server=172.14.1.126\TIPS;User id=xx;password=xxxx;Database=tips;Pooling=false;Integrated Security=false;"</connectionString>

20 个解决方案

#1


不是在Connection里面的设置,Connection可以设置连接的Timeout,执行的Timeout是在执行的时候设置,比如SqlCommand command = new SqlCommand(queryString, connection);
         // Setting command timeout to 1 second
         command.CommandTimeout = 1;

#2


引用 1 楼 SmithLiu328 的回复:
不是在Connection里面的设置,Connection可以设置连接的Timeout,执行的Timeout是在执行的时候设置,比如SqlCommand command = new SqlCommand(queryString, connection);
         // Setting command timeout to 1 second
         command.CommandTimeout = 1;

我数据库操作都被Seasar封装了,所以我看不到SqlCommand的对象啊,难道在配置文件里真的设置不了吗?

#3


对应SQL Server系统参数remote query timeout (s),修改方法如下,

use master
go

exec sp_configure N'remote query timeout (s)', N'[超时时间(秒)]'

reconfigure with override


#4


引用 3 楼 ap0405140 的回复:
对应SQL Server系统参数remote query timeout (s),修改方法如下,

use master
go

exec sp_configure N'remote query timeout (s)', N'[超时时间(秒)]'

reconfigure with override

谢谢版主回答!
有两个问题,请指教啊!
1.use master 要改成自己的库吗?>>>> use tips?
2.N'[超时时间(秒)]' 存储过程的第2个参数换成自己想要设定的时间?N'[超时时间(秒)]' >>>> 900??
3.修改这个参数影响应用程序中执行SQL文的时间?

#5


引用 4 楼 sonnchuui520 的回复:
Quote: 引用 3 楼 ap0405140 的回复:

对应SQL Server系统参数remote query timeout (s),修改方法如下,

use master
go

exec sp_configure N'remote query timeout (s)', N'[超时时间(秒)]'

reconfigure with override

谢谢版主回答!
有两个问题,请指教啊!
1.use master 要改成自己的库吗?>>>> use tips?
2.N'[超时时间(秒)]' 存储过程的第2个参数换成自己想要设定的时间?N'[超时时间(秒)]' >>>> 900??
3.修改这个参数影响应用程序中执行SQL文的时间?

1、对
2、是的
3、是的

#6


引用 4 楼 sonnchuui520 的回复:
谢谢版主回答!
有两个问题,请指教啊!
1.use master 要改成自己的库吗?>>>> use tips?
2.N'[超时时间(秒)]' 存储过程的第2个参数换成自己想要设定的时间?N'[超时时间(秒)]' >>>> 900??
3.修改这个参数影响应用程序中执行SQL文的时间?

1.可改可不改.
2.是的,"900"意为超时时间为900秒.
3.是的.

#7


引用 6 楼 ap0405140 的回复:
Quote: 引用 4 楼 sonnchuui520 的回复:

谢谢版主回答!
有两个问题,请指教啊!
1.use master 要改成自己的库吗?>>>> use tips?
2.N'[超时时间(秒)]' 存储过程的第2个参数换成自己想要设定的时间?N'[超时时间(秒)]' >>>> 900??
3.修改这个参数影响应用程序中执行SQL文的时间?

1.可改可不改.
2.是的,"900"意为超时时间为900秒.
3.是的.


谢谢回答啊!

还有疑问啊,麻烦了!

1.我在数据库执行了,但是还是执行超时,需要重启数据库服务器才能生效?
2.现在默认是600s,我改成了最大值 2147483647 我现在执行的SQL 还是30秒就超时了。应该是设置没起作用?
3.应该是封装的数据库操作DLL给设置成默认的30秒?是不是只能通过封装的数据库操作DLL来想解决办法了呢?

#8


引用 5 楼 DBA_Huangzj 的回复:
Quote: 引用 4 楼 sonnchuui520 的回复:

Quote: 引用 3 楼 ap0405140 的回复:

对应SQL Server系统参数remote query timeout (s),修改方法如下,

use master
go

exec sp_configure N'remote query timeout (s)', N'[超时时间(秒)]'

reconfigure with override

谢谢版主回答!
有两个问题,请指教啊!
1.use master 要改成自己的库吗?>>>> use tips?
2.N'[超时时间(秒)]' 存储过程的第2个参数换成自己想要设定的时间?N'[超时时间(秒)]' >>>> 900??
3.修改这个参数影响应用程序中执行SQL文的时间?

1、对
2、是的
3、是的


谢谢回答!
我还是没能解决问题   Sqlserver连接字符串中怎么设置CommandTimeout属性?

#9


引用 7 楼 sonnchuui520 的回复:
Quote: 引用 6 楼 ap0405140 的回复:

Quote: 引用 4 楼 sonnchuui520 的回复:

谢谢版主回答!
有两个问题,请指教啊!
1.use master 要改成自己的库吗?>>>> use tips?
2.N'[超时时间(秒)]' 存储过程的第2个参数换成自己想要设定的时间?N'[超时时间(秒)]' >>>> 900??
3.修改这个参数影响应用程序中执行SQL文的时间?

1.可改可不改.
2.是的,"900"意为超时时间为900秒.
3.是的.


谢谢回答啊!

还有疑问啊,麻烦了!

1.我在数据库执行了,但是还是执行超时,需要重启数据库服务器才能生效?
2.现在默认是600s,我改成了最大值 2147483647 我现在执行的SQL 还是30秒就超时了。应该是设置没起作用?
3.应该是封装的数据库操作DLL给设置成默认的30秒?是不是只能通过封装的数据库操作DLL来想解决办法了呢?
超时很多时候是应为程序运行太慢,不一定是配置问题

#10


引用 9 楼 DBA_Huangzj 的回复:
Quote: 引用 7 楼 sonnchuui520 的回复:

Quote: 引用 6 楼 ap0405140 的回复:

Quote: 引用 4 楼 sonnchuui520 的回复:

谢谢版主回答!
有两个问题,请指教啊!
1.use master 要改成自己的库吗?>>>> use tips?
2.N'[超时时间(秒)]' 存储过程的第2个参数换成自己想要设定的时间?N'[超时时间(秒)]' >>>> 900??
3.修改这个参数影响应用程序中执行SQL文的时间?

1.可改可不改.
2.是的,"900"意为超时时间为900秒.
3.是的.


谢谢回答啊!

还有疑问啊,麻烦了!

1.我在数据库执行了,但是还是执行超时,需要重启数据库服务器才能生效?
2.现在默认是600s,我改成了最大值 2147483647 我现在执行的SQL 还是30秒就超时了。应该是设置没起作用?
3.应该是封装的数据库操作DLL给设置成默认的30秒?是不是只能通过封装的数据库操作DLL来想解决办法了呢?
超时很多时候是应为程序运行太慢,不一定是配置问题

现在同样的代码,访问postgre数据库就没问题,因为在连接字符串里可以设置CommandTimeOut时间。
而SQLServer确不能设定,所以我断定还是设置的问题,我现在在研究封装的Seasar有没有相当设置,谢谢版主热心回答啊!

#11


超时有两种,一种是程序端的设置,一种是数据库端的设置,不过按照你的方法应该是程序端的问题,但是如果永不超时,问题可能更大。所以优化代码才是最重要的

#12


引用 11 楼 DBA_Huangzj 的回复:
超时有两种,一种是程序端的设置,一种是数据库端的设置,不过按照你的方法应该是程序端的问题,但是如果永不超时,问题可能更大。所以优化代码才是最重要的

先谢谢回复啊!
恩,因为数据量大,特别费时间的都做成了批处理,一般不会出太大问题。
现在应该是程序段设置出问题了,但是又找不到设置的地方所有头疼啊。

#13


你的是C#??

#14


引用 13 楼 DBA_Huangzj 的回复:
你的是C#??

是啊

#15


引用 13 楼 DBA_Huangzj 的回复:
你的是C#??

    [Seasar.Quill.Attrs.Implementation]
    public class V_Z0torihikisaki_CdDao : SuperDao
    {
        protected VZ0torihikisakiCdBhv vZ0torihikisakiCdBhv;

        public VZ0torihikisakiCd GetAZ0torihikisakiCd()
        {
            VZ0torihikisakiCdCB cb = new VZ0torihikisakiCdCB();
            cb.FetchFirst(1);
            VZ0torihikisakiCd ret = vZ0torihikisakiCdBhv.SelectEntity(cb);

            string strPath = VZ0torihikisakiCdBhv.PATH_GetQZ0torihikisakiCd;
            ListResultBean<GetQZ0torihikisakiCd> list =
                vZ0torihikisakiCdBhv.OutsideSql().SelectList<GetQZ0torihikisakiCd>(strPath, null);
            if (list != null && list.Count > 0)
            {
                ret.SequenceId = list[0].SequenceId;
            }
            return ret;
        }
    }

#16


Sqlserver连接字符串中怎么设置CommandTimeout属性?好久没搞,看不懂了,网上应该有教程的吧

#17


引用 16 楼 DBA_Huangzj 的回复:
Sqlserver连接字符串中怎么设置CommandTimeout属性?好久没搞,看不懂了,网上应该有教程的吧


恩 我准备去下载他们的官方网站的源码,研究下,不然解决不了啊,
感谢版主啊!

#18


经过几天的努力终于解决了,问题还是出在封装的类。谢谢各位!

#19


Sqlserver连接字符串中怎么设置CommandTimeout属性?

#20


怎么解决的 我也遇到了相同的问题 

#1


不是在Connection里面的设置,Connection可以设置连接的Timeout,执行的Timeout是在执行的时候设置,比如SqlCommand command = new SqlCommand(queryString, connection);
         // Setting command timeout to 1 second
         command.CommandTimeout = 1;

#2


引用 1 楼 SmithLiu328 的回复:
不是在Connection里面的设置,Connection可以设置连接的Timeout,执行的Timeout是在执行的时候设置,比如SqlCommand command = new SqlCommand(queryString, connection);
         // Setting command timeout to 1 second
         command.CommandTimeout = 1;

我数据库操作都被Seasar封装了,所以我看不到SqlCommand的对象啊,难道在配置文件里真的设置不了吗?

#3


对应SQL Server系统参数remote query timeout (s),修改方法如下,

use master
go

exec sp_configure N'remote query timeout (s)', N'[超时时间(秒)]'

reconfigure with override


#4


引用 3 楼 ap0405140 的回复:
对应SQL Server系统参数remote query timeout (s),修改方法如下,

use master
go

exec sp_configure N'remote query timeout (s)', N'[超时时间(秒)]'

reconfigure with override

谢谢版主回答!
有两个问题,请指教啊!
1.use master 要改成自己的库吗?>>>> use tips?
2.N'[超时时间(秒)]' 存储过程的第2个参数换成自己想要设定的时间?N'[超时时间(秒)]' >>>> 900??
3.修改这个参数影响应用程序中执行SQL文的时间?

#5


引用 4 楼 sonnchuui520 的回复:
Quote: 引用 3 楼 ap0405140 的回复:

对应SQL Server系统参数remote query timeout (s),修改方法如下,

use master
go

exec sp_configure N'remote query timeout (s)', N'[超时时间(秒)]'

reconfigure with override

谢谢版主回答!
有两个问题,请指教啊!
1.use master 要改成自己的库吗?>>>> use tips?
2.N'[超时时间(秒)]' 存储过程的第2个参数换成自己想要设定的时间?N'[超时时间(秒)]' >>>> 900??
3.修改这个参数影响应用程序中执行SQL文的时间?

1、对
2、是的
3、是的

#6


引用 4 楼 sonnchuui520 的回复:
谢谢版主回答!
有两个问题,请指教啊!
1.use master 要改成自己的库吗?>>>> use tips?
2.N'[超时时间(秒)]' 存储过程的第2个参数换成自己想要设定的时间?N'[超时时间(秒)]' >>>> 900??
3.修改这个参数影响应用程序中执行SQL文的时间?

1.可改可不改.
2.是的,"900"意为超时时间为900秒.
3.是的.

#7


引用 6 楼 ap0405140 的回复:
Quote: 引用 4 楼 sonnchuui520 的回复:

谢谢版主回答!
有两个问题,请指教啊!
1.use master 要改成自己的库吗?>>>> use tips?
2.N'[超时时间(秒)]' 存储过程的第2个参数换成自己想要设定的时间?N'[超时时间(秒)]' >>>> 900??
3.修改这个参数影响应用程序中执行SQL文的时间?

1.可改可不改.
2.是的,"900"意为超时时间为900秒.
3.是的.


谢谢回答啊!

还有疑问啊,麻烦了!

1.我在数据库执行了,但是还是执行超时,需要重启数据库服务器才能生效?
2.现在默认是600s,我改成了最大值 2147483647 我现在执行的SQL 还是30秒就超时了。应该是设置没起作用?
3.应该是封装的数据库操作DLL给设置成默认的30秒?是不是只能通过封装的数据库操作DLL来想解决办法了呢?

#8


引用 5 楼 DBA_Huangzj 的回复:
Quote: 引用 4 楼 sonnchuui520 的回复:

Quote: 引用 3 楼 ap0405140 的回复:

对应SQL Server系统参数remote query timeout (s),修改方法如下,

use master
go

exec sp_configure N'remote query timeout (s)', N'[超时时间(秒)]'

reconfigure with override

谢谢版主回答!
有两个问题,请指教啊!
1.use master 要改成自己的库吗?>>>> use tips?
2.N'[超时时间(秒)]' 存储过程的第2个参数换成自己想要设定的时间?N'[超时时间(秒)]' >>>> 900??
3.修改这个参数影响应用程序中执行SQL文的时间?

1、对
2、是的
3、是的


谢谢回答!
我还是没能解决问题   Sqlserver连接字符串中怎么设置CommandTimeout属性?

#9


引用 7 楼 sonnchuui520 的回复:
Quote: 引用 6 楼 ap0405140 的回复:

Quote: 引用 4 楼 sonnchuui520 的回复:

谢谢版主回答!
有两个问题,请指教啊!
1.use master 要改成自己的库吗?>>>> use tips?
2.N'[超时时间(秒)]' 存储过程的第2个参数换成自己想要设定的时间?N'[超时时间(秒)]' >>>> 900??
3.修改这个参数影响应用程序中执行SQL文的时间?

1.可改可不改.
2.是的,"900"意为超时时间为900秒.
3.是的.


谢谢回答啊!

还有疑问啊,麻烦了!

1.我在数据库执行了,但是还是执行超时,需要重启数据库服务器才能生效?
2.现在默认是600s,我改成了最大值 2147483647 我现在执行的SQL 还是30秒就超时了。应该是设置没起作用?
3.应该是封装的数据库操作DLL给设置成默认的30秒?是不是只能通过封装的数据库操作DLL来想解决办法了呢?
超时很多时候是应为程序运行太慢,不一定是配置问题

#10


引用 9 楼 DBA_Huangzj 的回复:
Quote: 引用 7 楼 sonnchuui520 的回复:

Quote: 引用 6 楼 ap0405140 的回复:

Quote: 引用 4 楼 sonnchuui520 的回复:

谢谢版主回答!
有两个问题,请指教啊!
1.use master 要改成自己的库吗?>>>> use tips?
2.N'[超时时间(秒)]' 存储过程的第2个参数换成自己想要设定的时间?N'[超时时间(秒)]' >>>> 900??
3.修改这个参数影响应用程序中执行SQL文的时间?

1.可改可不改.
2.是的,"900"意为超时时间为900秒.
3.是的.


谢谢回答啊!

还有疑问啊,麻烦了!

1.我在数据库执行了,但是还是执行超时,需要重启数据库服务器才能生效?
2.现在默认是600s,我改成了最大值 2147483647 我现在执行的SQL 还是30秒就超时了。应该是设置没起作用?
3.应该是封装的数据库操作DLL给设置成默认的30秒?是不是只能通过封装的数据库操作DLL来想解决办法了呢?
超时很多时候是应为程序运行太慢,不一定是配置问题

现在同样的代码,访问postgre数据库就没问题,因为在连接字符串里可以设置CommandTimeOut时间。
而SQLServer确不能设定,所以我断定还是设置的问题,我现在在研究封装的Seasar有没有相当设置,谢谢版主热心回答啊!

#11


超时有两种,一种是程序端的设置,一种是数据库端的设置,不过按照你的方法应该是程序端的问题,但是如果永不超时,问题可能更大。所以优化代码才是最重要的

#12


引用 11 楼 DBA_Huangzj 的回复:
超时有两种,一种是程序端的设置,一种是数据库端的设置,不过按照你的方法应该是程序端的问题,但是如果永不超时,问题可能更大。所以优化代码才是最重要的

先谢谢回复啊!
恩,因为数据量大,特别费时间的都做成了批处理,一般不会出太大问题。
现在应该是程序段设置出问题了,但是又找不到设置的地方所有头疼啊。

#13


你的是C#??

#14


引用 13 楼 DBA_Huangzj 的回复:
你的是C#??

是啊

#15


引用 13 楼 DBA_Huangzj 的回复:
你的是C#??

    [Seasar.Quill.Attrs.Implementation]
    public class V_Z0torihikisaki_CdDao : SuperDao
    {
        protected VZ0torihikisakiCdBhv vZ0torihikisakiCdBhv;

        public VZ0torihikisakiCd GetAZ0torihikisakiCd()
        {
            VZ0torihikisakiCdCB cb = new VZ0torihikisakiCdCB();
            cb.FetchFirst(1);
            VZ0torihikisakiCd ret = vZ0torihikisakiCdBhv.SelectEntity(cb);

            string strPath = VZ0torihikisakiCdBhv.PATH_GetQZ0torihikisakiCd;
            ListResultBean<GetQZ0torihikisakiCd> list =
                vZ0torihikisakiCdBhv.OutsideSql().SelectList<GetQZ0torihikisakiCd>(strPath, null);
            if (list != null && list.Count > 0)
            {
                ret.SequenceId = list[0].SequenceId;
            }
            return ret;
        }
    }

#16


Sqlserver连接字符串中怎么设置CommandTimeout属性?好久没搞,看不懂了,网上应该有教程的吧

#17


引用 16 楼 DBA_Huangzj 的回复:
Sqlserver连接字符串中怎么设置CommandTimeout属性?好久没搞,看不懂了,网上应该有教程的吧


恩 我准备去下载他们的官方网站的源码,研究下,不然解决不了啊,
感谢版主啊!

#18


经过几天的努力终于解决了,问题还是出在封装的类。谢谢各位!

#19


Sqlserver连接字符串中怎么设置CommandTimeout属性?

#20


怎么解决的 我也遇到了相同的问题 

#21