小编tom*_*ato的帖子

PLS-00428:此SELECT语句中需要一个INTO子句

我想将Rownum存储为变量,而不是使用昂贵的Join.我需要从Select语句中获取它,因为Rownum在各种环境中会有所不同,因此它不能是代码中的文字字符串.

对于上下文,此查询在Oracle Siebel CRM架构上执行,并检索某些特定类型和属性的产品.

我尝试在Toad和Oracle SQL Developer中使用以下SQL代码,但是我收到以下错误:

PLS-00428:此SELECT语句中需要一个INTO子句

这是代码

    DECLARE
    PROD_ROW_ID varchar(10) := NULL;
BEGIN
    SELECT ROW_ID INTO VIS_ROW_ID FROM SIEBEL.S_PROD_INT WHERE PART_NUM = 'S0146404';

    BEGIN
        SELECT rtrim(VIS.SERIAL_NUM) || ',' || rtrim(PLANID.DESC_TEXT) || ',' ||
               CASE
               WHEN PLANID.HIGH = 'TEST123'
               THEN
                   CASE
                   WHEN to_date(PROD.START_DATE) + 30 > sysdate
                   THEN 'Y'
                   ELSE 'N'
                   END
               ELSE 'N'
               END
               || ',' || 'GB' || ',' ||
               rtrim(to_char(PROD.START_DATE, 'YYYY-MM-DD'))
        FROM SIEBEL.S_LST_OF_VAL PLANID
            INNER JOIN SIEBEL.S_PROD_INT PROD
                ON PROD.PART_NUM = PLANID.VAL
            INNER JOIN SIEBEL.S_ASSET NETFLIX …
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql oracle11g

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

XPath按"id"属性搜索,给出NPE - Java

所有,

我有多个XML模板,我需要填充数据,以允许我的文档构建器类使用多个模板并正确插入数据

我通过添加以下属性来指定我希望我的类插入数据的节点:

ID = "根"

XML的一个例子

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<SiebelMessage MessageId="07f33fa0-2045-46fd-b88b-5634a3de9a0b" MessageType="Integration Object" IntObjectName="" IntObjectFormat="Siebel Hierarchical" ReturnCode="0" ErrorMessage="">
    <listOfReadAudit >
        <readAudit id="root">
            <recordId mapping="Record ID"></recordId>
            <userId mapping="User ID"></userId>
            <customerId mapping="Customer ID"></customerId>
            <lastUpd mapping="Last Updated"></lastUpd>
            <lastUpdBy mapping="Last Updated By"></lastUpdBy>
            <busComp mapping="Entity Name"></busComp>
        </readAudit>
    </listOfReadAudit>
</SiebelMessage>
Run Code Online (Sandbox Code Playgroud)

expr = xpath.compile("//SiebelMessage[@id='root']");
root = (Element) expr.evaluate(xmlDoc, XPathConstants.NODE);
Element temp = (Element) root.cloneNode(true);
Run Code Online (Sandbox Code Playgroud)

使用此示例: XPath选择Element by属性值

表达式不起作用:

// SiebelMessage [@ ID = '根']

我有什么想法我做错了吗?

java xml xpath

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

如何测试 OkHttp 中的 IOException 情况?

我正在尝试在 OkHttpClient 抛出 IOException 事件中测试我的代码库

待测代码

    try (var response = okHttpClient.newCall(request).execute()) {
        return response;
    } catch (final IOException e) {
        log.error("IO Error from API", e);
        throw new ApiException(e.getMessage(), e);
    }
Run Code Online (Sandbox Code Playgroud)

测试

@Test
void createCustomer_WhenValidRequestAndIOException_ThenThrowAPIException() throws ZeusServiceException, ZeusClientException {

    //Given
    final OkHttpClient okHttpClientMock = mock(OkHttpClient.class, RETURNS_DEEP_STUBS);
    final OkHttpClient.Builder okHttpBuilderMock = mock(OkHttpClient.Builder.class);
    httpClient = new HttpClient(okHttpClientMock, configuration, objectMapper);

    //When
    when(okHttpClientMock.newBuilder()).thenReturn(okHttpBuilderMock);
    when(okHttpBuilderMock.build()).thenReturn(okHttpClientMock);
    when(okHttpClientMock.newCall(any())).thenThrow(IOException.class);
    final var result = httpClient.createCustomer(request);

    assertThatThrownBy(() -> httpClient.createCustomer(request))
        .isInstanceOf(ApiException.class)
        .hasMessage("IO Error from API");
}
Run Code Online (Sandbox Code Playgroud)

我试图模拟OkHttpClientandBuilder类,但是 Builder …

java mockito okhttp

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

JMeter - 使用POST变量发送HTTP请求时遇到问题?

我正在尝试加载测试从归档数据库中获取记录的java servlet.

servlet的工作原理如下:

  • 1 - 从HTTP标头中读取变量
  • 2 - 使用变量来查询数据库
  • 3 - 返回XML

我已经设置了一个测试,我想用post变量触发HTTP请求但是测试不起作用,J Meter出错了.

屏幕截图1 - 显示测试的结构 在此输入图像描述

屏幕截图2 - 显示我正在阅读的CSV文件 在此输入图像描述

我已将CSV文件放在保存测试计划的同一文件夹中!

屏幕截图3 - 显示HTTP请求 在此输入图像描述

这是错误输出:

线程名称:线程组1-1示例开始时间:2012-11-20 10:35:27 GMT加载时间:0延迟:0大小(字节):1113标头大小(字节):0主体大小(字节):1113样本数:1错误计数:1响应代码:非HTTP响应代码:java.net.URISyntaxException响应消息:非HTTP响应消息:索引13处的IPv6地址的预期结束括号: http:// [http://sophos1.testserver.co.英国/的servlet /存档]:61061 /

响应标头:

HTTPSampleResult字段:ContentType:DataEncoding:null

POST请求

POST http://[http://sophos1.testserver.co.uk/servlet/archive]:61061/

POST data:


[no cookies]
Run Code Online (Sandbox Code Playgroud)

返回数据

java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 13: http://[http://sophos1.testserver.co.uk/servlet/archive]:61061/
        at java.net.URI$Parser.fail(Unknown Source)
        at java.net.URI$Parser.failExpecting(Unknown Source)
        at java.net.URI$Parser.parseServer(Unknown Source)
        at java.net.URI$Parser.parseAuthority(Unknown Source)
        at java.net.URI$Parser.parseHierarchical(Unknown Source)
        at java.net.URI$Parser.parse(Unknown Source)
        at java.net.URI.<init>(Unknown Source)
        at java.net.URL.toURI(Unknown Source)
        at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:232)
        at …
Run Code Online (Sandbox Code Playgroud)

jmeter load-testing

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

在PHP中创建电子邮件队列?

我目前正在创建一个像这样工作的报价系统:

用户通过表单提交数据 - >数据发送到db - > pdf generated - > email sent

我正在使用该htmlmimemail5库执行此操作,生成的电子邮件将发送到本地网络上单独服务器上的邮件交换.

可悲的是,这方面的负面影响是,脚本需要大约一分钟才能完全执行,因为脚本等待MX确认电子邮件已发送或已失败.

所以我希望可能有一个单独的PHP应用程序来处理所有的电子邮件处理,这意味着用户不必等待一分钟,而是可以跳转到下一页,他们可以查看信息等.

这个应用程序很乐意解决从用户进程请求构建的电子邮件队列,如果队列为空可能会关闭?

我猜它需要某种电子邮件队列(如打印队列).

但是,因为我是一名初级PHP开发人员并且所有其他开发人员都忙于保姆,我完全迷失了,甚至不知道从哪里开始,或者这是否是正确的策略?

更多信息:

  • 服务器是BSD监狱
  • Apache 2.2/PHP5

所有内部和外部电子邮件都通过POSTINI路由,这也会增加延迟.

欢迎任何想法或建议!:)

php email mime

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

无法将外键值插入链接表

我目前正在尝试将数据插入名为"customer_quote"的表中,该表充当"customer"表和"customer_tariffs"表之间的链接表.它还记录通过"用户"表汇总数据的用户.

这是我的数据库的模式:

http://i.imgur.com/LOG1T.png 在此输入图像描述

这是表格的截图,不允许我插入其中.

http://i.imgur.com/i2wiU.png

在此输入图像描述

这是我插入我的数据库的过程:

  1. 将数据插入客户表
  2. 使用mysql_insert_id检索行标识
  3. 将数据插入customer_quote <---不工作!

这是代码:

    //code above this inserted data into customer table

//get id of row where data was just inserted
$sustomer->cid = mysql_insert_id($db);

//insert into customer_quote table
$database->query("INSERT INTO customer_quote (cid)
        Values ('$customer->cid')");
Run Code Online (Sandbox Code Playgroud)

**新错误消息**

'无法添加或更新子行:外键约束失败(quote_system.customer_quote,CONSTRAINT fk_customer_quote_customerFOREIGN KEY(cid)REFERENCES customer(id)ON DELETE NO ACTION ON UPDATE NO ACTION)'

正如您所看到的,错误反馈是无用的,因此经过大约三个小时的测试后,我得出结论,问题是"客户报价"表中的"cid"列.

它只接受某些值,但是我自己的php变量具有正确的值,可以通过phpmyadmin插入,如下面的屏幕截图所示.

http://i.imgur.com/eEFou.png

在此输入图像描述

所以它必须是我的桌子中的约束或其他东西阻止我?

任何想法如何解决这个问题. …

php mysql constraints foreign-keys

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

JDBI 结果集映射与连接的结果列表?

尝试使用 JDBIs ResultSetMapper API 构建一个 Country 对象,但是我有一个问题不知道如何解决。

对于如下所示的结果集,它将地区(州/地区)表连接到国家/地区 (1 - 0..n)

在此输入图像描述

    @Override
public Country map(final int index, final ResultSet resultRow, final StatementContext ctx) throws SQLException {

    final String countryIso3Code = resultRow.getString("iso3Code");


    return Country.builder().name(resultRow.getString("name"))
            .iso2Code(resultRow.getString("iso2Code"))
            .iso3Code(resultRow.getString("iso3Code"))
            .regions(....?)
            .build();

}
Run Code Online (Sandbox Code Playgroud)

如何让 ResultSetMapper 使用 JDBI 中相关区域的适当列表初始化一个 Country 对象

例如

美国 - (USA) - (US) - (PR, RI, WA)

目前返回的国家列表如下

英国 - GBR - GB - <>

美国 - 美国 - 美国 - PR

美国 - 美国 - US - RI

美国 - 美国 …

java jdbc jdbi

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

Sequelize.define() 不是函数?

尝试在 node.js 网络服务器中使用 Sequelize。

我已经像这样在 index.js 中初始化了 Sequelize 连接池

索引.js

const config = require('./config/config');
const app = require('./config/express');
const Sequelize = require('sequelize');

const sequelize = new Sequelize(config.mysql.database, config.mysql.user, config.mysql.pass, {
  host: config.mysql.host,
  dialect: 'mysql',
  operatorsAliases: false,

  pool: {
    max: 5,
    min: 0,
    acquire: 30000,
    idle: 10000
  },
});

sequelize
  .authenticate()
  .then(() => {
    console.log('Connection has been established successfully.'); // eslint-disable-line no-console
  })
  .catch((err) => {
    console.error('Unable to connect to the database:', err); // eslint-disable-line no-console
  });

module.exports = { app, …
Run Code Online (Sandbox Code Playgroud)

node.js sequelize.js

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

从Initialize()访问Dropwizard配置?

我正在尝试为 Dropwizard 创建一个计划作业,该作业每分钟运行一次并查询数据库中的值。

为此,我需要在initialize()舞台上注册一些 DAO 和服务,如下所示:

@Override
public void initialize(final Bootstrap<KMDServiceConfiguration> bootstrap) {

    //JDBI
    final DBIFactory factory = new DBIFactory();
    final DateTimeArgumentFactory dateTimeFactory = new DateTimeArgumentFactory();
    final DBI jdbi = factory
            .build(environment, config.getDataSourceFactory(), "kmd");
    jdbi.registerArgumentFactory(dateTimeFactory);

    //DAOs
    final UserDao userDao = jdbi.onDemand(UserDao.class);
    final NotificationDao notificationDao = jdbi.onDemand(NotificationDao.class);

    //Domain services
    final UserService userService = new UserServiceImpl(userDao);
    final NotificationService notificationService = new NotificationServiceImpl(notificationDao);

    final MessageService messageService = new MessageServiceImpl(userService, notificationService);


    final Job worker= new MessageWorker(messageService);
    bootstrap.addBundle(new JobsBundle(worker));
Run Code Online (Sandbox Code Playgroud)

JDBI 需要 Dropwizardenvironment …

dropwizard

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

用于表示具有设定时间粒度的日历时间表的数据结构?

我一直在尝试考虑一种纯粹的 Java 方式来表示整个日历年的时间表。每个计划的时长为 30 分钟(半小时粒度)。

这将通过存储库方法进行抽象,例如findByDateTime()

本质上,我需要以每天 30 分钟的粒度对时间段进行建模。

我把它组合在一起的方式就像这样

public Map<Integer, Map<Integer, Programme>> enumerateMapOfMapSchedules() {

    int numberOfSlots = 48; //48 half hours in a day

    Map<Integer, Map<Integer, Programme>> dayToTimeScheduleMap = new HashMap<>();

    //create a key value map for each day of the year
    for (int i = 1; i < 366; i++) {

        Map<Integer, Programme> dayProgrammeScheduleMap = new HashMap<>();

        for (int y = 1; y < numberOfSlots; y++) {
            dayProgrammeScheduleMap.put(y, null);
        }

        dayToTimeScheduleMap.put(i, dayProgrammeScheduleMap);
    }
    //creates a map …
Run Code Online (Sandbox Code Playgroud)

java maps data-structures

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