小编Mar*_* N.的帖子

如何在SQL Server中的表值函数中使用CTE语句

我已经了解到某些版本的Microsoft OLE DB Provider for SQL Server(主要在Windows XP上)不支持WITH语句.所以,我决定将我的SQL语句移动到表值函数中,并从我的应用程序中调用它.现在,我被困住了.我应该如何使用该INSERT INTO声明WITH?这是我到目前为止的代码,但SQL Server不喜欢它... :-(

CREATE FUNCTION GetDistributionTable 
(
    @IntID int,
    @TestID int,
    @DateFrom datetime,
    @DateTo datetime
)
RETURNS 
@Table_Var TABLE 
(
    [Count] int, 
    Result float
)
AS
BEGIN
INSERT INTO @Table_Var ([Count], Result) WITH T(Result)
     AS (SELECT ROUND(Result - AVG(Result) OVER(), 1)
         FROM RawResults WHERE IntID = @IntID AND DBTestID = @TestID AND Time >= @DateFrom AND Time <= @DateTo)
SELECT COUNT(*) AS [Count],
       Result
FROM   T …
Run Code Online (Sandbox Code Playgroud)

sql-server common-table-expression sql-server-2008-r2

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

使用WCF进行相互SSL身份验证:握手阶段没有CertificateRequest和CertificateVerify

我正在开发一个WCF服务,该服务将由我不开发的客户端使用,而且它不是.NET(可能是Java).

在任何情况下,该服务都应支持相互SSL身份验证,其中服务和客户端都在传输层使用证书X.509证书进行身份验证.证书已在之前的各方之间进行了交换.

我的问题是我似乎无法获得正确的WCF配置,以便客户端证书身份验证正常工作.我期望的是,作为TLS握手的一部分,服务器还包括一个Certificate Request,如下所示:

在此输入图像描述

在此之后,客户应该回答"证书验证"等问题:

在此输入图像描述

(最新)服务配置就是这个.我正在使用自定义绑定,身份验证模式设置为MutualSslNegotiated.

<bindings>
  <customBinding>
    <binding name="CarShareSecureHttpBindingCustom">
      <textMessageEncoding messageVersion="Soap11" />
      <security authenticationMode="MutualSslNegotiated"/>
      <httpsTransport requireClientCertificate="true" />
    </binding>
  </customBinding>
</bindings>

...

<serviceBehaviors>
  <behavior name="ServiceBehavior">
    <serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" />
    <serviceDebug includeExceptionDetailInFaults="false" httpHelpPageEnabled="false" />
    <serviceCredentials>
      <serviceCertificate findValue="..." storeLocation="LocalMachine" x509FindType="FindByIssuerName" storeName="My" />
      <clientCertificate>
        <certificate findValue="..." storeName="My" storeLocation="LocalMachine" x509FindType="FindByIssuerName"/>
      </clientCertificate>
    </serviceCredentials>
  </behavior>
</serviceBehaviors>
Run Code Online (Sandbox Code Playgroud)

对于我尝试过的所有服务配置,握手的Server Hello部分都是这样的,没有CertificateRequest. 在此输入图像描述

其他我应该提到的事情:

  • 该服务是自托管的,并且在非默认端口(而不是443)上侦听.服务器SSL证书已绑定到此端口.
  • 我也尝试过将a basicHttpBinding和a wsHttpBidning安全模式设置为Transport和客户端身份验证设置为Certificate,没有结果(实际上是相同的结果).

任何想法,将不胜感激.

ssl wcf wcf-binding wcf-security

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

什么"当例外无效时打破"是什么意思?

我发现Visual C++ 2010的自动突破异常功能在过去和今天非常有用我正在查看此对话框中的选项,并发现其中一个异常类型是"void".这是什么意思?如果我选择这个,我会打破代码中抛出的任何异常吗?如果没有,什么样的throw语句会触发这种类型的断点?

Visual Studio异常对话框

我想更一般的后续问题是我在哪里可以找到关于此对话框及其所有选项的文档?

c++ exception visual-studio-2010 visual-c++

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

实体框架6中多个上下文的单个事务

我们有一个场景可以在单个事务中从两个上下文中保存两个实体.

第1步 - SetTransaction(firstContext,true);

第2步 - 使用firstContext保存第一个实体.

第3步 - SetTransaction(secondContext,false);

第4步 - 使用secondContext保存第二个实体

第5步 - 最终提交事务.

void function SetTransaction(context, startNewTransaction)
{    
   var currentContext = firstContext;

   if (startNewTransaction)
   {
      var connection = currentContext.GetConnection();
      connection.Open();
      this.dbTransaction = connection.BeginTransaction();
   }

   if (this.dbTransaction != null)
   {
       currentContext.UseTransaction(dbTransaction);
   }
}
Run Code Online (Sandbox Code Playgroud)

执行第3步时,currentContext.UseTransaction(dbTransaction); line抛出异常为" 传入的事务与当前连接无关.只能使用与当前连接关联的事务 "

请建议如何解决.

Venkat.

c# entity-framework-6

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

从JavaScript代码覆盖中排除函数(不是整个文件)

我正在用Jasmine创建一些单元测试,而我正在使用的测试运行器是Karma.我还使用karma-coverage插件检查这些测试规范的代码覆盖率.

我想知道是否有任何方法可以从代码覆盖范围本身以及Karma报告(实际上是伊斯坦布尔)中排除某些功能.我想如果第一个问题解决了,那么第二个问题就解决了.

很确定没有明显的方法可以做到这一点,因为我也在伊斯坦布尔看过(业力覆盖使用它),但也许你们中的一些人之前遇到过这种情况.

jasmine karma-runner istanbul

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

TSQL - 带复合键的MERGE语句

我有表OrderLines(OrderID int,LineIndex int,)和相同结构的表值参数定义一个订单的新订单行.

所以,如果我有以下OrderLines

1000   1   bread
1000   2   milk
1001   1   oil
1001   2   yogurt
1002   1   beef
1002   2   pork
Run Code Online (Sandbox Code Playgroud)

和以下TVP

1001   1   yogurt
Run Code Online (Sandbox Code Playgroud)

我想获得以下OrderLines

1000   1   bread
1000   2   milk
1001   1   yogurt
1002   1   beef
1002   2   pork
Run Code Online (Sandbox Code Playgroud)

即只触摸一个订单的行.

所以我写了这样的查询

MERGE
    [OrderLines] AS [Target]
USING
(
    SELECT
        [OrderID], [LineIndex], [Data]
    FROM
        @OrderLines
)
AS [Source] ([OrderID], [LineIndex], [Data])
ON ([Target].[OrderID] = [Source].[OrderID]) AND ([Target].[LineIndex] = [Source].[LineIndex])
WHEN MATCHED THEN
    UPDATE
    SET
        [Target].[Data] = [Source].[Data]
WHEN NOT …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server sql-server-2012

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

对NewObject调用的无效间接引用

好的,所以我有下面的本机代码.我试图从它返回一个FilePermissionInfo数组,填充stat()返回的一些数据.问题是我第一次调用NewObject时出现以下错误:

06-15 20:25:17.621:W/dalvikvm(2287):decodeIndirectRef中的无效间接引用0x40005820 06-15 20:25:17.621:E/dalvikvm(2287):VM中止

这很奇怪,因为我唯一的参考对象是jclass(对于FilePermissionInfo),我把它变成了一个全局引用.

代码是:

JNIEXPORT jobjectArray JNICALL
Java_com_mn_rootscape_utils_NativeMethods_getFilesPermissions( JNIEnv* env, jobject thizz, jobjectArray filePathsArray ) 
{
jobjectArray result;
int size = (*env)->GetArrayLength(env, filePathsArray);
jboolean isCopy;

jclass filePermInfoCls = (*env)->FindClass(env, kFilePermissionInfoPath);
if(!filePermInfoCls)
{
    LOGE("getFilesPermissions: failed to get class reference.");
    return NULL;
}

gFilePermInfoClass = (jclass)(*env)->NewGlobalRef(env, filePermInfoCls);
LOGI("got gFilePermInfoClass");

jmethodID filePermInfoClsConstructor = (*env)->GetMethodID(env, gFilePermInfoClass, "<init>", kFilePermInfoConstructorSig);
if(!filePermInfoClsConstructor)
{
    LOGE("getFilesPermissions: failed to get method reference.");
    return NULL;
}

struct stat sb;

LOGI("starting...");
result = (jobjectArray)(*env)->NewObjectArray(env, size, gFilePermInfoClass, NULL);
for(int i …
Run Code Online (Sandbox Code Playgroud)

android native-code android-ndk android-4.0-ice-cream-sandwich

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

适用于jmethodID的NewGlobalRef

我有一个问题,否则似乎是一件容易的事.我有一个本机方法,它返回一个Java类(自定义)实例的jobjectArray.我所做的是获取我想要实例化的类的jclass并返回,然后获取它的构造函数的jmethodID.

本机方法的签名是:

JNIEXPORT jobjectArray JNICALL
Java_com_mn_rootscape_utils_NativeMethods_getFilesPermissions( JNIEnv* env, jobject thizz, jobjectArray filePathsArray ) 
Run Code Online (Sandbox Code Playgroud)

命名空间和构造函数签名定义如下:

const char* kFilePermissionInfoPath = "com/mn/rootscape/utils/FilePermissionInfo";
const char* kFilePermInfoConstructorSig = "(IIIIIJJJLjava/lang/String;Ljava/lang/String;ZLjava/lang/String;)V";
Run Code Online (Sandbox Code Playgroud)

对于jclass和jmethodID,我按照这里发布的说明操作.所以我得到他们的全球参考,以便我以后可以使用它们.请注意,我的lib中还没有oninit,代码现在只是用于测试.

问题是当我尝试检索jmethodID的全局引用时,我遇到了分段错误.

执行此操作的代码是:

jclass filePermInfoCls = (*env)->FindClass(env, kFilePermissionInfoPath);
if(!filePermInfoCls)
{
    LOGE("getFilesPermissions: failed to get class reference.");
    return NULL;
}

gFilePermInfoClass = (jclass)(*env)->NewGlobalRef(env, filePermInfoCls);
LOGI("got gFilePermInfoClass");

jmethodID filePermInfoClsConstructor = (*env)->GetMethodID(env, gFilePermInfoClass, "<init>", kFilePermInfoConstructorSig1);
if(!filePermInfoClsConstructor)
{
    LOGE("getFilesPermissions: failed to get method reference.");
    return NULL;
}

gFilePermInfoClsConstructor = (jmethodID)(*env)->NewGlobalRef(env, filePermInfoClsConstructor);
LOGI("got gFilePermInfoClsConstructor");
Run Code Online (Sandbox Code Playgroud)

实际错误是:

06-14 09:17:26.648:W/dalvikvm(26012):decodeIndirectRef中的无效间接引用0x4c0bdc40 06-14:17:26.648:E/dalvikvm(26012):VM中止

gFilePermInfoClass和gFilePermInfoClsConstructor是全局jclass和jmethodID对象,用于保存全局引用. …

java-native-interface android android-ndk

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

查询字符串中的Base64编码参数出现问题

我正在将Web应用程序中的链接发送到用户邮件(用于确认用户注册),如下所示:

<a target="_blank" href="http://localhost:2817/ConfirmRegistration?confirm=Y0tcmGepe7wjH7A1CT1IaA==">
http://localhost:2817/ConfirmRegistration?confirm=Y0tcmGepe7wjH7A1CT1IaA==
</a>
Run Code Online (Sandbox Code Playgroud)

但是Chrome会警告此消息:

Chrome讯息

查询字符串是否无效?我该如何解决?

顺便说一句:
我的应用程序在C#和MVC3中

html hyperlink c#-4.0 asp.net-mvc-3

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

如何在Realm对象中实现Nullable属性(更确切地说是DateTime)?

问题非常简单,关于如何解决此错误:

Fody/RealmWeaver:类'X'字段'Y'是'System.Nullable`1',尚不支持.

这是一个DateTime?属性.确实支持可以为空的原始类型.

我知道Java版本支持null值.这是关于Realm .NET.我想知道是否有除了做旧的任何其他方式DateTime SomeNullablePropertybool HasSomeNullableProperty事.

c# realm xamarin realm-net

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