我想将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) 所有,
我有多个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 = '根']
我有什么想法我做错了吗?
我正在尝试在 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 servlet.
servlet的工作原理如下:
我已经设置了一个测试,我想用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) 我目前正在创建一个像这样工作的报价系统:
用户通过表单提交数据 - >数据发送到db - > pdf generated - > email sent
我正在使用该htmlmimemail5库执行此操作,生成的电子邮件将发送到本地网络上单独服务器上的邮件交换.
可悲的是,这方面的负面影响是,脚本需要大约一分钟才能完全执行,因为脚本等待MX确认电子邮件已发送或已失败.
所以我希望可能有一个单独的PHP应用程序来处理所有的电子邮件处理,这意味着用户不必等待一分钟,而是可以跳转到下一页,他们可以查看信息等.
这个应用程序很乐意解决从用户进程请求构建的电子邮件队列,如果队列为空可能会关闭?
我猜它需要某种电子邮件队列(如打印队列).
但是,因为我是一名初级PHP开发人员并且所有其他开发人员都忙于保姆,我完全迷失了,甚至不知道从哪里开始,或者这是否是正确的策略?
更多信息:
所有内部和外部电子邮件都通过POSTINI路由,这也会增加延迟.
欢迎任何想法或建议!:)
我目前正在尝试将数据插入名为"customer_quote"的表中,该表充当"customer"表和"customer_tariffs"表之间的链接表.它还记录通过"用户"表汇总数据的用户.
这是我的数据库的模式:
这是表格的截图,不允许我插入其中.

这是我插入我的数据库的过程:
这是代码:
//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,CONSTRAINTfk_customer_quote_customerFOREIGN KEY(cid)REFERENCEScustomer(id)ON DELETE NO ACTION ON UPDATE NO ACTION)'
正如您所看到的,错误反馈是无用的,因此经过大约三个小时的测试后,我得出结论,问题是"客户报价"表中的"cid"列.
它只接受某些值,但是我自己的php变量具有正确的值,可以通过phpmyadmin插入,如下面的屏幕截图所示.

所以它必须是我的桌子中的约束或其他东西阻止我?
任何想法如何解决这个问题. …
尝试使用 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
美国 - 美国 …
尝试在 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) 我正在尝试为 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 …
我一直在尝试考虑一种纯粹的 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 ×4
php ×2
constraints ×1
dropwizard ×1
email ×1
foreign-keys ×1
jdbc ×1
jdbi ×1
jmeter ×1
load-testing ×1
maps ×1
mime ×1
mockito ×1
mysql ×1
node.js ×1
okhttp ×1
oracle ×1
oracle11g ×1
plsql ×1
sequelize.js ×1
sql ×1
xml ×1
xpath ×1