这真的是一个讨论,而不是一个关于nolock的具体问题.
我最近接手了一个应用程序,几乎每个查询(并且有很多查询)都有nolock选项.现在我对SQL服务器很新(使用Oracle 10年了),但我发现这非常令人不安.因此,本周末我与一位经营着相当大的电子商务网站的朋友交谈(名字将被隐瞒以保护有罪的人),他说他必须对他所有的SQL服务器这样做,因为他总是会陷入僵局.
这只是SQL服务器的短暂下降吗?这只是数据库设计中的一个失败(我的不是第三级,但它的关闭)是否有人在那里运行没有nolocks的SQL服务器应用程序?这些是Oracle使用更多宏记录锁更好地处理的问题.
SQL服务器是否无法处理大负载?有没有比阅读未提交的数据更好的解决方法?我很想听听人们的想法.
谢谢
我终于开始在cfscript中编写东西了,所以我开始编写一些必需的格式化函数.这是一个例子:
Function FormatBoolean(MyBool, Format) {
Switch(Format){
Case "YES/NO":{
If (MyBool eq 1)
Return "YES";
Else
Return "NO";
Break;
}
Default:{
If (MyBool eq 1)
Return "Yes";
Else
Return "";
Break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想做的是使Format成为可选参数.如果你不包含参数,该函数目前仍然会运行,但它找不到格式,似乎cfparam没有被转换为cfscript.
我是否只需要检查格式是否已定义并为其赋值?或者有更好的方法吗?
谢谢
我整个上午一直在搞乱这个,但我找不到答案.我试图使用EF来引用存储过程,但无论我尝试什么,我都无法在模型浏览器中显示它.
我已经使用以下步骤尝试将过程放入模态中:
将过程添加到实体模型
右键单击模型,然后选择添加新 - >功能导入
给它一个名字,然后选择我的程序
生成一个新的复杂集合(我也试过使用一个实体,既不工作)
单击确定
我已经多次这样做了,我可以在模型中的"函数Imports"文件夹中看到该函数,但它从未出现在模型中,所以我无法引用它.
我发现我可以通过执行以下操作直接引用存储过程(不带导入):
DBEntities db = new DBEntities();
var test = db.gsp_GetGroups();
Run Code Online (Sandbox Code Playgroud)
但是,如果IQueryable<T>没有大的解决方法,我无法将其转换为.
有没有人知道我缺少哪些步骤才能正确添加?
谢谢
PS VS 2012,asp.net 4.0
所以我知道有很多关于如何使用linq更新数据库到SQL的问题,我的问题是,我是否按照公认的标准这样做?
这是我的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//load data to page
}
else
{
using (var db = new App_Data.MyDataContext())
{
var Query = (from p in db.peoples
where p.ipeople_ID == 59225
select p).Single();
Query.cFirstName = FirstName.Value;
try { db.SubmitChanges(); }
catch (ChangeConflictException)
{
db.ChangeConflicts.ResolveAll(RefreshMode.KeepChanges);
db.SubmitChanges();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我通过反复试验来学习asp.net(以及大量的谷歌搜索!)所以我知道它会起作用,只是不知道代码是否会让我笑出会议!:d
谢谢
我遇到了这种奇怪的情况,我想我会把它扔到人群中找出原因.
我有一个查询加入链接服务器上的表:
select a.*, b.phone
from table_a a,
join remote.table_b b on b.id = a.id
(lots of data on A, but very few on B)
Run Code Online (Sandbox Code Playgroud)
这个查询是永远在说话(从来没有发现实际的运行时间),那时我注意到B没有索引,所以我添加了它,但这并没有解决问题.最后,出于绝望,我试过:
select a.*, b.phone
from table_a a,
join (select id, phone from remote.B) as b on b.id = a.id
Run Code Online (Sandbox Code Playgroud)
在我看来,这个版本的查询应该具有相同的结果,但是请注意,它会立即响应!
任何想法为什么会挂起而另一个过程很快?是的,我确实等待确保在运行两者之前已经构建了索引.
所以我想要的是生成特定时间范围内的所有小时.
所以考虑到上午11点到下午2点,我会得到:
11:00 AM
12:00 PM
1:00 PM
2:00 PM
Run Code Online (Sandbox Code Playgroud)
我试图避免必须存储商店可能打开的每个特定小时,只是存储范围(我需要比较其他时间的小时)
谢谢
因此,我们有一个小应用程序,它指向 2008 SSRS 服务器上的报告。
该应用程序正常工作正常,但由于我们向服务器添加了更多网站,因此我们已将 Web 应用程序绑定更改为不是服务器名称的名称。
这导致我们得到以下结果:
目标主体名称不正确 说明:当前 Web 请求执行期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。
异常详细信息:System.ComponentModel.Win32Exception:目标主体名称不正确
来源错误:
执行当前 Web 请求期间生成未处理的异常。有关异常来源和位置的信息可以使用下面的异常堆栈跟踪来识别。
堆栈跟踪:
[Win32Exception(0x80004005):目标主体名称不正确] System.Net.NTAuthentication.GetOutgoingBlob(Byte []传入Blob,布尔值 throwOnError,SecurityStatus&statusCode)+2622099
System.Net.NTAuthentication.GetOutgoingBlob(字符串传入Blob)+99
System.Net .NegotiateClient.DoAuthenticate(字符串质询,WebRequest webRequest,ICredentials凭据,布尔预身份验证)+767
System.Net.NegotiateClient.Authenticate(字符串质询,WebRequest webRequest,ICredentials凭据)+18
System.Net.AuthenticationManager.Authenticate(字符串质询,WebRequest请求,ICredentials凭据)+146
System.Net.AuthenticationState.AttemptAuthenticate(HttpWebRequest httpWebRequest,ICredentials authInfo)+2279623
System.Net.HttpWebRequest.CheckResubmitForAuth()+3031261
System.Net.HttpWebRequest.CheckResubmit(异常&e)+169[WebException:远程服务器返回错误:(401) 未经授权。]
我们将新绑定名称的 spn 添加到 SSRS 服务器以获取运行应用程序的 ID,但什么也没有。
我看到很多遇到 SSPI 问题的人都这样做,但没有出现 401 错误。
我们使用的 ID 可以完全访问这两个盒子,并且您可以毫无问题地直接从 Web 服务器访问 SSRS。只有当它包装在应用程序中时我们才会收到错误。
以前有人遇到过这个问题吗?
谢谢
我一直在寻找一种方法来获取我上传的电子表格中的第一个工作表名称.
现在,我在使用Jet 4时发现了许多口味或代码,但我必须使用Ace 12,当我使用该驱动程序时,它永远不会得到任何有关电子表格的信息.有谁知道用Ace 12提取电子表格名称的好方法?
我需要能够在树中找到一个select节点的父节点,但是,每当我使用ParentNode时,它总是出现'undefined'(我不选择root).有人知道找到节点父节点的好方法吗?
谢谢
好,
我不知道我是否会发疯,但估计的执行计划是否用于向您展示您需要哪些指数来提高您的表现?在我以前的工作中我习惯了这个,但现在看来我必须使用调优顾问.我不介意调整顾问,但我以前做的方式非常简单!
谢谢
sql-server ×4
asp.net ×3
sql ×2
c# ×1
coldfusion ×1
coldfusion-9 ×1
excel ×1
extjs ×1
iis ×1
linq-to-sql ×1
msdtc ×1
ssrs-2008-r2 ×1