(Oracle PL/SQL)
如果我有一个简单的SQL语句抛出错误,即:
DECLARE
v_sql_errm varchar2(2048);
BEGIN
UPDATE my_table SET my_column = do_something(my_column)
WHERE my_column IS NOT NULL;
EXCEPTION
when others then
-- How can I obtain the row/value causing the error (unknown)?
v_sql_errm := SQLERRM;
insert into log_error (msg) values ('Error updating value (unknown): '||
v_sql_errm);
END;
Run Code Online (Sandbox Code Playgroud)
在异常块中是否有任何方法来确定查询遇到错误的行/值?我希望能够记录它,以便我可以进入并修改/更正导致错误的特定数据值.
我正在尝试从存储过程中的dba_tab_cols视图中进行SELECT.它不起作用,我不知道为什么.
如果我执行以下SQL作为查询:
SELECT t.data_type FROM dba_tab_cols t
WHERE
t.table_name = 'ACCOUNTTYPE' AND
t.column_name = 'ACCESSEDBY';
Run Code Online (Sandbox Code Playgroud)
它工作正常.但是,如果我将其复制到存储过程中,如下所示:
SELECT t.data_type INTO dataType FROM dba_tab_cols t
WHERE
t.table_name = 'ACCOUNTTYPE' AND
t.column_name = 'ACCESSEDBY';
Run Code Online (Sandbox Code Playgroud)
我收到错误消息"PL/SQL:ORA-00942:表或视图不存在",编辑器在尝试编译时突出显示dba_tab_cols.在这两种情况下都使用相同的db用户.
dataType声明为:dataType varchar2(128);
PL/SQL(Oracle 9)
有人知道这个问题吗?
我试图wget
通过Cygwin从https网站获取一些内容.不幸的是,当我尝试连接时,我收到以下错误:
#wget https://www.mysite.com/mycontent
Connecting to XXXXXXXX... connected.
GnuTLS: A TLS fatal alert has been received.
Unable to establish SSL connection.
Run Code Online (Sandbox Code Playgroud)
证书是VeriSign Class 3,未过期.我一直在使用选项尝试--no-check-certificate
,--secure-protocol=SSLv2
,--secure-protocol=SSLv3
,等它不工作,但给出了一个稍微不同的错误:
$ wget --secure-protocol=SSLv3 --no-check-certificate https://www.mysite.com/mycontent
Connecting to XXXXXX... connected.
GnuTLS: GnuTLS internal error.
Unable to establish SSL connection.
Run Code Online (Sandbox Code Playgroud)
我还尝试在我的PC上从Internet Explorer导出DER证书,然后将该证书传递给wget,这也失败了:
$ wget --certificate-type=DER --certificate=mysite.cer https://www.mysite.com/mycontent
Connecting to XXXXX... connected.
GnuTLS: A TLS fatal alert has been received.
Unable to establish SSL connection.
Run Code Online (Sandbox Code Playgroud)
有什么我想念的吗?任何人都能指出我要做的工作方向吗?
抱歉,但出于雇主保密原因,我不得不编辑真实的服务器信息.
这是我的wget/cygwin配置信息:
$ wget --version
GNU …
Run Code Online (Sandbox Code Playgroud) 可能重复:
从SimpleXML访问@attribute
我正在使用一些第三方API,它通过以下形式通过xml返回错误:
<xml>
<status>0</status>
<error code="111">Error message text goes here.</error>
</xml>
Run Code Online (Sandbox Code Playgroud)
simplexml_load_string
在PHP中使用我可以轻松获取状态0和错误消息文本,但我找不到code="111"
从中检索值的方法<error code="111">
.它似乎被SimpleXML放弃了.
<?php
$bytesRead = file_get_contents('http://api.....');
$xml = simplexml_load_string($bytesRead);
echo '<pre>'; print_r($xml); echo '</pre>';
?>
Run Code Online (Sandbox Code Playgroud)
输出
SimpleXMLElement Object
(
[status] => 0
[error] => Error message text goes here.
)
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?有没有办法获得这个值,或者有人建议另一种方法来获得这个?
我想从子目录加载我的新网站,包括默认的index.html页面.
在我的public_html中,我有/ oldsite /和/ newsite/folders ...
然后..当我访问http://www.mysite.com/ ..我希望它从http://www.mysite.com/newsite/加载所有内容而不重定向.如果可能,我想用.htaccess mod_rewrite来做..
任何人都可以帮我解决这个问题.这该怎么做?
我已经设法在数组中搜索,但是我如何显示数组中搜索的值的位置以获取下面的代码?
import javax.swing.*;
import java.util.Arrays;
public class Listahan {
public static void main(String[] args){
int list1[] = {1,3,2,5,7,8,5,6,9,4};
int list2[] = {2,1,4,3,2,1,4,2,0,2};
int list3[] = new int[10];
int a;
System.out.print("List1: ");
for(a=0; a<10; a++){
System.out.print(list1[a]+" ");
}
System.out.print("\nList2: ");
for(a=0; a<10; a++){
System.out.print(list2[a]+" ");
}
System.out.print("\nList3: ");
for(a=0; a<10; a++){
list3[a]=list1[a]+list2[a];
System.out.print(list3[a]+" ");
}
int searchValue = Integer.parseInt(JOptionPane.showInputDialog("Input a value to search in List3: "));
int Result = Arrays.binarySearch(list3,searchValue);
if(Result!=-3){
System.out.println("\n\nThe value "+searchValue+" is in List3!");
System.out.println("There are "+Result+" of …
Run Code Online (Sandbox Code Playgroud)