小编n00*_*00b的帖子

SQLSERVER中的ListAGG

我正在尝试聚合SQLServer中的"STRING"字段.我想在Oracle中找到与LISTAGG相同的功能.

你知道如何做同样的功能或另一种方法吗?

例如,

Field A | Field B
1       |  A
1       |  B
2       |  A
Run Code Online (Sandbox Code Playgroud)

我想这个查询的结果将是

1 | AB
2 | A
Run Code Online (Sandbox Code Playgroud)

sql sql-server aggregate

65
推荐指数
3
解决办法
11万
查看次数

SQL Server插入示例

我偶尔在Oracle和SQL Server之间切换,并经常忘记如何在SQL Server中执行一些最简单的任务.我想使用SQL手动将一行数据插入SQL Server数据库表.最简单的方法是什么?

例如,如果我有一个USERS表,其中包含ID(number),FIRST_NAME和LAST_NAME的列,我会使用什么查询在该表中插入一行?

如果我想一次插入多行,我还会使用什么语法?

sql sql-server insert

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

如何在ORACLE PL/SQL中捕获并返回(或打印)异常创建或替换存储过程

我有一个PL/SQL存储过程,我想在其中运行多个更新,然后捕获任何异常并将它们返回到out参数中.为简单起见,在下面的代码块中,我只是将异常代码和错误消息输出到控制台.但是,下面的代码块不起作用(我遇到"发现/期待"语法错误)

    CREATE OR REPLACE PROCEDURE DBP.TESTING_SP AS 
    DECLARE
    v_code  NUMBER;
    v_errm  VARCHAR2(64);
    BEGIN
    UPDATE PS_NE_PHONE_TBL SET NE_PHONE_TYPE = 'TEST' WHERE NEMPLID_TBL = 'N14924';

    EXCEPTION
    WHEN OTHERS THEN
    v_code := SQLCODE;
    v_errm := SUBSTR(SQLERRM, 1, 64);
    DBMS_OUTPUT.PUT_LINE (v_code || ' ' || v_errm);
    END TESTING_SP;
    /
Run Code Online (Sandbox Code Playgroud)

我正在尝试做什么的正确语法是什么?

我在一个论坛上看过

"当使用Create或Replace语法时,不能使用Declare.声明仅适用于未命名的匿名块.因此,要么删除第1行并创建匿名块,要么删除第2行并创建命名过程."

但我不确定如何创建一个匿名块或创建一个命名过程来完成我想要做的事情(如果那确实是'解决方案').有人能伸出援助之手吗?

oracle plsql stored-procedures

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

如何使用导出的函数交叉编译DLL

我正在进行DLL劫持练习,并编写了一个DLL,在Visual Studio中编译时可以正常工作.本质上,当加载DLL时,它会执行shell命令并将合法功能(在此示例中为CheckEvenOddPrintAMessage函数)传递给最初预期的DLL(在此示例中为GetEvenOdd.dll).工作代码如下;

#include "stdafx.h"
#include <windows.h>

#pragma comment(linker, "/export:CheckEvenOdd=GetEvenOdd.dll.original.CheckEvenOdd")
#pragma comment(linker, "/export:PrintAMessage=GetEvenOdd.dll.original.PrintAMessage")

extern "C" __declspec(dllexport)
DWORD WINAPI ExecuteCmd(LPVOID lpParam) {
    WinExec("c:\\Users\\Public\\execute.bat", 0);
    return 0;
}

extern "C" __declspec(dllexport)
BOOL APIENTRY DllMain(HMODULE hModule,
    DWORD ul_reason_for_call,
    LPVOID lpReserved) {
    switch (ul_reason_for_call) {
    case DLL_PROCESS_ATTACH:
        CreateThread(NULL, NULL, ExecuteCmd, NULL, NULL, NULL);
        break;
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}
Run Code Online (Sandbox Code Playgroud)

虽然它在Visual Studio(Windows)中编译时可以正常工作,但我想在Linux中生成DLL(用于Windows程序).在Linux中,我可以交叉编译CPP文件(injector.cpp),并使用这些命令创建DLL;

i686-w64-mingw32-g++ -c -DBUILDING_EXAMPLE_DLL injector.cpp
i686-w64-mingw32-g++ -shared -o GetEvenOdd.dll injector.o -Wl,--out-implib,injector.a
Run Code Online (Sandbox Code Playgroud)

这会成功创建DLL.但是,当我的"受害者应用程序"(在Windows上运行)加载DLL时,虽然"ExecuteCmd"函数被执行,但导出的函数(来自"pragma comment"行)不可用.也就是说,加载此DLL的程序试图找到导出的函数并且无法执行(即, …

c++ linux mingw cross-compiling mingw32

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

如何加密log4net日志文件

有没有办法加密或保护log4net输出?

c# log4net

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

在VB.NET字符数组中添加"c"是什么意思?

我想使用String方法IndexOfAny来检查指定字符串中是否存在字符.

我在网上找到的使用IndexOfAny方法的例子在使用VB.NET时在字符数组中的每个字符后面都包含一个"c".但是,当我在VB.NET中查看简单字符数组的示例时,我在每个字符后都没有看到任何这样的"c"."c"是做什么的?它是可选的吗?

Dim s1 As String = "Darth is not my father."
' Find the first index of either "x" or "n"
Dim i1 As Integer = s1.IndexOfAny(New Char() {"x"c, "n"c})
Run Code Online (Sandbox Code Playgroud)

vb.net string

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

SQLXML批量将属性加载到单个表中

TLDR;

我试图使用SQLXML Bulk Loader(4.0)来加载看起来像这样的XML;

<?xml version = "1.0" encoding = "UTF-8"?>
<CarSales>
 <Client>
  <ID >3</ID>
  <ClientName>John Smith3</ClientName>
  <Country name="Colombia"/>
 </Client>
 <Client>
  <ID>7</ID>
  <ClientName>Slow Sid</ClientName>
  <Country name="Bolivia"/>
 </Client>
 <Client>
  <ID>10</ID>
  <ClientName>Missing Town</ClientName>
  <Country name="Argentina"/>
 </Client>
</CarSales>
Run Code Online (Sandbox Code Playgroud)

我希望在我正在使用的唯一表的列中捕获Country name属性("Client_XMLBulkLoad",它还包含客户端名称和ID).那可能吗?


更多细节:

这是我到目前为止对应的XSD("Country"注释掉了)

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sql = "urn:schemas-microsoft-com:mapping-schema">
 <xsd:element name = "CarSales" sql:is-constant = "1" >
  <xsd:complexType>
   <xsd:sequence>
    <xsd:element name = "Client" sql:relation="Client_XMLBulkLoad"
          maxOccurs = "unbounded">
      <xsd:complexType>
       <xsd:sequence>
        <xsd:element name = "ID" type = "xsd:integer" 
                     sql:field = "ID" />
        <xsd:element name = "ClientName" …
Run Code Online (Sandbox Code Playgroud)

xml vbscript sqlxml sql-server-2008-r2 xml-parsing

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

如何从域外的虚拟机对域上的SQL Server数据库进行身份验证?

我支持.NET 4.0(Visual Studio 2010)Web应用程序,该应用程序对驻留在我的工作Intranet上的SQL Server 2008数据库进行身份验证.应用程序使用Windows身份验证对数据库进行身份验证.如果我在我的主机上进行开发,这一切都很好和花花公子,但我正在开发一个不在工作领域的虚拟机.因此,当项目构建并运行时,它会抛出SqlClient.SqlException

"登录失败.登录来自不受信任的域,不能与Windows身份验证一起使用."

如果没有在我的主机上开发并放弃VM,我该怎么做才能避免这个错误并成功验证数据库,以便我可以构建/运行Web应用程序?我愿意在本地某处存储我的凭据,但最好不要在TFS源代码控制下的某个地方(比如web.config),因为我无法保留文件,因为项目中还有其他开发人员.

我已尝试将Visual Studio作为不同的用户(作为我的工作域中的用户)运行,但我收到"未知用户名或密码错误"错误.

请注意,将虚拟机添加到域(或通过VPN连接到它)不是选项.VM必须保持在域外.另请注意,虚拟机正在域上的计算机上运行,​​并且VM使用共享连接.因此它可以访问Intranet但它无法对SQL Server执行Windows身份验证.

intranet virtual-machine windows-authentication visual-studio-2010 sql-server-2008

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

如何在一个脚本/批处理文件中更改多个unix密码?

我从Windows连接到8个不同的unix服务器,在putty中使用连接类型"SSH".我为每个服务器使用相同的用户名/密码.

目前,当我需要更改密码(每60天)时,我需要打开putty,选择我要连接的会话,输入我当前的密码(在打开的putty窗口中),输入"passwd",输入我当前的密码,然后输入我的新密码.

然后我退出并重复该过程7次.

如何将其转换为自动化流程,我只需要使用旧密码和新密码提供脚本/批处理流程?

unix ssh scripting putty batch-file

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

如何在 Selenium Python 中设置 UnexpectedAlertBehaviour

这个问题涉及在 Java 中设置 Selenium webdriver 的 UnexpectedAlertBehaviour。你如何在 Python 的 ChromeDriver 中做同样的事情?

我尝试了以下方法;

    options = ChromeOptions()
    options.headless = True
    options.set_capability("UNEXPECTED_ALERT_BEHAVIOUR", "ACCEPT")
    options.set_capability("unexpectedAlertBehaviour", "accept")
    options.set_capability("CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR", "ACCEPT")
    options.set_capability("UnexpectedAlertBehaviour", "ACCEPT")
    webdriver.DesiredCapabilities.CHROME["unexpectedAlertBehaviour"] = "accept"
    cls.driver = webdriver.Chrome(chrome_options=options)
Run Code Online (Sandbox Code Playgroud)

但是,我仍然随机遇到这个unexpectedalertpresent异常:

selenium.common.exceptions.UnexpectedAlertPresentException:警报文本:消息:意外警报打开:{警报文本:}

当我以非无头模式(头模式?)运行浏览器时,我看不到这样的警报,但尽管我努力设置这个难以捉摸的选项,但测试仍然随机失败并出现此异常。

python selenium exception selenium-chromedriver

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

如何用什么都不替换值类型?

我正在编写一个调用webservice方法的vb.net应用程序.所讨论的webservice方法接受约20个参数,例如(字符串x,字符串y,字符串z ....整数a,整数b,整数c).

可能任何一个整数(ab或c)都没有故意设置为一个值.但是,因为Integer是一个值类型(谢谢Stack Overflow)我不能将它设置为Nothing,因此当用户没有为这些整数选择特定值时,我将其默认为-1.但是,当用户没有初始化那些整数时,webservice方法希望我传递Null/Nothing(不是0或-1,它想要Nothing/Null).

我如何给web服务提供它想要的多个条件,对web服务的调用略有不同(例如,如果整数a = -1,则用(x,y,z,Nothing,b,c)调用webservice等... )?

vb.net null nothing

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