在APEX中读写session值

本文介绍了如何在Oracle APEX应用中通过PL/SQL进程和存储程序操作Session State值。详细阐述了在PL/SQL进程中使用绑定变量读写Session State的方法,并提供了在存储程序中读取及使用APEX_UTIL包写入Session State的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在APEX的PL/SQL类型的Processes中,可以使用绑定变量的语法来读写session state值。如:
:PX_MY_ITEM := 'something'; -- 写
l_my_local_variable := :PX_MY_ITEM; -- 读
如果是在存储程序中,就不能使用绑定变量的语法了,这个时候可以使用v('PX_MY_ITEM')或nv('PX_MY_ITEM')语法进行读取,不过这种方式仅限于读,不可以写。
想要在存储程序中写入session值,就得借助APEX_UTIL包中的过程set_session_state。如:
APEX_UTIL.set_session_state(
p_name => 'PX_MY_ITEM'
, p_value => 'something');

参考文章内容见:http://atulley.wordpress.com/2007/05/17/apex-setting-session-state-from-within-a-plsql-packageprocedurefunction/

PS: 如果访问一个从未设置过的键值,结果就为null。

01-23 05:22:24.042 1041 23098 23144 F TimeCheck: TimeCheck timeout for IAudioFlinger::createTrack scheduled 05:22:07.019 on thread 23181 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: Timeout ms 15999.999023 elapsed steady ms 16000.286133 elapsed system ms 16000.287109 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: HAL pids [ 23099 ] 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: now 05:22:24.042 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: secondChanceCount 2 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: analysis [ Blocked directly due to HAL call: EffectHalHidl::command scheduled 05:22:09.032 deadline tid 23181 ] 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: timeout [ { IAudioFlinger::createTrack scheduled 05:22:07.019 deadline :10.019 tid 23181 } ] 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: pending [ { IAudioPolicyService::listAudioPorts scheduled 05:22:09.025 deadline :12.025 tid 23183 } { EffectHalHidl::command scheduled 05:22:09.032 deadline tid 23181 } ] 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: retired [ { EffectHalHidl::setInBuffer scheduled 05:22:09.031 deadline tid 23181 } { EffectHalHidl::setOutBuffer scheduled 05:22:09.031 deadline tid 23181 } { EffectHalHidl::command scheduled 05:22:09.031 deadline tid 23181 } { EffectHalHidl::command scheduled 05:22:09.031 deadline tid 23181 } ] 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: timeout/blocked(23181) callstack [ 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: #00 pc 00000000000c628c /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12) (BuildId: b488e7f89f4a137764348c8be0014585) 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: #01 pc 000000000006cdfc /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156) (BuildId: b488e7f89f4a137764348c8be0014585) 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: #02 pc 000000000008fe48 /system/lib64/libhidlbase.so (android::hardware::IPCThreadState::talkWithDriver(bool)+276) (BuildId: b594ae28e097a22a59926edfcb7a8b98) 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: #03 pc 00000000000910b8 /system/lib64/libhidlbase.so (android::hardware::IPCThreadState::waitForResponse(android::hardware::Parcel*, int*)+136) (BuildId: b594ae28e097a22a59926edfcb7a8b98) 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: #04 pc 0000000000090dbc /system/lib64/libhidlbase.so (android::hardware::IPCThreadState::transact(int, unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int)+192) (BuildId: b594ae28e097a22a59926edfcb7a8b98) 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: #05 pc 000000000008d200 /system/lib64/libhidlbase.so (android::hardware::BpHwBinder::transact(unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int, std::__1::function<void (android::hardware::Parcel&)>)+84) (BuildId: b594ae28e097a22a59926edfcb7a8b98) 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: #06 pc 00000000002457f8 /system/lib64/libaudiohal@7.1.so (android::hardware::audio::effect::V7_0::BpHwEffect::_hidl_command(android::hardware::IInterface*, android::hardware::details::HidlInstrumentor*, unsigned int, android::hardware::hidl_vec<unsigned char> const&, unsigned int, std::__1::function<void (int, android::hardware::hidl_vec<unsigned char> const&)>) (.cfi)+560) (BuildId: 7451cd705b39b1eb13549535496489b9) 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: #07 pc 00000000002427dc /system/lib64/libaudiohal@7.1.so (android::hardware::audio::effect::V7_0::BpHwEffect::command(unsigned int, android::hardware::hidl_vec<unsigned char> const&, unsigned int, std::__1::function<void (int, android::hardware::hidl_vec<unsigned char> const&)>)+176) (BuildId: 7451cd705b39b1eb13549535496489b9) 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: #08 pc 0000000000212510 /system/lib64/libaudiohal@7.1.so (android::effect::EffectHalHidl::command(unsigned int, unsigned int, void*, unsigned int*, void*)+444) (BuildId: 7451cd705b39b1eb13549535496489b9) 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: #09 pc 00000000001237c0 /system/bin/audioserver (android::EffectModule::stop_ll()+480) (BuildId: 00b77a5b023ffc1c26e7de3544a7b0c9) 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: #10 pc 000000000012260c /system/bin/audioserver (android::EffectModule::stop_l()+112) (BuildId: 00b77a5b023ffc1c26e7de3544a7b0c9) 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: #11 pc 000000000013668c /system/bin/audioserver (android::EffectChain::removeEffect(android::sp<android::IAfEffectModule> const&, bool)+696) (BuildId: 00b77a5b023ffc1c26e7de3544a7b0c9) 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: #12 pc 0000000000165950 /system/bin/audioserver (android::ThreadBase::removeEffect_l(android::sp<android::IAfEffectModule> const&, bool)+616) (BuildId: 00b77a5b023ffc1c26e7de3544a7b0c9) 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: #13 pc 00000000000e80a8 /system/bin/audioserver (android::AudioFlinger::moveEffectChain_ll(audio_session_t, android::IAfPlaybackThread*, android::IAfPlaybackThread*, android::IAfEffectChain*)+1244) (BuildId: 00b77a5b023ffc1c26e7de3544a7b0c9) 01-23 05:22:24.042 1041 23098 23144 F TimeCheck: #14 pc 00000000000efe80 /system/bin/audioserver (android::AudioFlinger::closeOutput_nonvirtual(int)+3204) (B 01-23 05:22:24.043 1041 23098 23181 I libc : handling signal: 6 01-23 05:22:24.043 1041 23098 23181 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 23181 (binder:23098_4), pid 23098 (audioserver) 01-23 05:22:24.043 1041 23098 23181 I libc : debuggerd_dispatch_pseudothread start. crashing tid: 23181 01-23 05:22:24.046 1000 2619 2727 I ActivityTaskManager: visible for Task{31ef9e7 #33 type=standard A=1000:com.factory.mmigroup} visible = true isAnimating = false TRANSITION = false PARENTS = false CHILDREN = false 01-23 05:22:24.046 1000 1478 1478 I SDM : StcManager::ProcessModeSwAssets():784 Cannot find mode (gamut 255 gamma 255 intent 0) in mode list 01-23 05:22:24.047 1000 1478 1478 I SDM : StcManager::ProcessModeRenderIntent():719 Cannot find mode (gamut 255 gamma 255 intent 0) in mode list 01-23 05:22:24.047 1000 2619 2727 I WindowManager: wms.showSurfaceRobustly mWin:Window{396f01e u0 Application Not Responding: com.factory.mmigroup} 01-23 05:22:24.047 1000 1478 1478 D SDM : DisplayBuiltIn::PreCommit: display_builtin.cpp histogramNextTriger 0 histogramSetup 0 histogramSample 0 01-23 05:22:24.047 root 1497 1526 E ANDR-PERF-GLUELAYER: ANDR-PERF-GLUELAYER: PerfGlueLayerSubmitRequest() 96: Request not Submitted as Target Init is not Complete 01-23 05:22:24.047 1000 1478 1478 W SDM : CPUHint::ReqTidChangeOffload: Failed to send HWC's tid:1478 01-23 05:22:24.048 root 1497 1526 E ANDR-PERF-GLUELAYER: ANDR-PERF-GLUELAYER: PerfGlueLayerSubmitRequest() 96: Request not Submitted as Target Init is not Complete 01-23 05:22:24.048 1000 1623 1623 W ComposerExtn: DisplayExtnImpl::SendContentFps: Content FPS Hint was not delivered! fps = 30, handle = -1 log分析
最新发布
08-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值