oracle EXP-00028: 无法打开用于写入的 expdate.dmp

本文介绍如何使用EXP命令备份Oracle数据库,并确保备份文件名包含日期格式。通过调整系统时间格式为“YYYY-M-D”,可以避免因时间格式不匹配而导致的错误。

用exp备份带日期格式的文件名,命令如下:

exp erpsys/12345678@mytestdafile=e:\backup\erpsys_mytestda_%date:~0,10%.dmp log=e:\backup\erpsys_mytestda_%date:~0,10%.log rows=n buffer=65536000 owner=erpsys

 

成功执行后文件名字应如下:

dmp文件是erpsys_mytestda_2012-06-13.dmp

log文件是erpsys_mytestda_2012-06-13.log

但在执行备份语句时,报EXP-00028: 无法打开用于写入的 expdat.dmp, 原因是因为你的系统时间格式导致的,把系统时间格式改为“YYYY-M-D”就OK了,如图:

 

EXP-00028: 无法打开用于写入的 expdat.dmp - dianli_jingjing - 我的博客
 
成功导出如下图:

 

 

 

EXP-00028: 无法打开用于写入的 expdat.dmp - dianli_jingjing - 我的博客
帮忙分析报错原因:PROD Synchronization Error! IP: 10.199.57.249 Exception information: PROD Synchronization Products Table Error Caught an ClientException, which means the client encountered a serious internal problem while trying to communicate with Synchronization, such as not being able to access the network Error Message: StatementCallback; SQL [select tt.co, tt.plancode, tt.planname, s.SalesChannels, tt.EffectiveDate, tt.ExpireDate, tt.status, tt.flag from ( select t.co, t.plancode, t.planname, t.SalesChannels, t.EffectiveDate, t.ExpireDate, t.status, t.flag, (row_number() over(partition by t.co, t.plancode, t.planname order by t.rownum)) as id from ( select * from ( select distinct c.co, ltrim(rtrim(nco.plancode)) as plancode, ltrim(rtrim(pa.planname)) as planname, 'All' as SalesChannels, nco.effdate as EffectiveDate, nco.expdate as ExpireDate, nco.status, '暂停销售' as flag, '1' as rownum from nbrplan nco inner join NBRCURCODE c on nco.orgid = c.orgid and nco.curcode = c.curcode left join nladpa pa on (pa.planco = c.co or pa.planco = '0086') and ltrim(rtrim(nco.plancode)) = ltrim(rtrim(pa.plancode)) where 1=1 and nco.orgid <> 'AAAAAA' union select distinct c.co, ltrim(rtrim(nco.plancode)) as plancode, ltrim(rtrim(pa.planname)) as planname, 'All' as SalesChannels, nco.effdate as EffectiveDate, nco.expdate as ExpireDate, nco.status, '暂停销售' as flag, '2' as rownum from nbrplan nco inner join NBRCURCODE c on nco.curcode = c.curcode left join nladpa pa on (pa.planco = c.co or pa.planco = '0086') and ltrim(rtrim(nco.plancode)) = ltrim(rtrim(pa.plancode)) where 1=1 and nco.orgid = 'AAAAAA' ) order by plancode, co, rownum ) t ) tt left join (select 'Agency' as SalesChannels from sysibm.sysdummy1 union select 'Bank' as SalesChannels from sysibm.sysdummy1 union select 'All' as SalesChannels from sysibm.sysdummy1) s on 1=1 where tt.id = 1 and not exists ( select 1 from ( select co, plancode, planname, SalesChannels, EffectiveDate, ExpireDate, status, flag from ( select t.co, t.plancode, t.planname, t.SalesChannels, t.EffectiveDate, t.ExpireDate, t.status, t.flag, (row_number() over(partition by t.co, t.plancode, t.planname, t.SalesChannels order by t.rownum)) as id from ( select * from ( select distinct c.co, ltrim(rtrim(nco.plancode)) as plancode, ltrim(rtrim(pa.planname)) as planname, case when ltrim(rtrim(s.agttype)) = 'A' then 'Agency' when ltrim(rtrim(s.agttype)) in ('B','P','X') then 'Bank' when ltrim(rtrim(s.agttype)) = 'E' then 'E-Biz' when ltrim(rtrim(s.agttype)) = 'I' then 'StaffAgent' when ltrim(rtrim(s.agttype)) = 'K' then 'Broker' when ltrim(rtrim(s.agttype)) = 'W' then 'HNW' when ltrim(rtrim(s.agttype)) = 'S' then 'DM' else s.agttype end as SalesChannels, nco.effdate as EffectiveDate, nco.expdate as ExpireDate, nco.status, '暂停销售' as flag, '1' as rownum from nbrplanexp nco inner join NBRCURCODE c on nco.orgid = c.orgid and nco.curcode = c.curcode inner join NBRSALCHNL s on s.orgid = 'AAAAAA' and (nco.chanlcode = s.chanlcode) and s.agttype in ('A','B','P','X') inner join nladpa pa on (pa.planco = c.co or pa.planco = '0086') and ltrim(rtrim(nco.plancode)) = ltrim(rtrim(pa.plancode)) where 1=1 and nco.orgid <> 'AAAAAA' union select distinct c.co, ltrim(rtrim(nco.plancode)) as plancode, ltrim(rtrim(pa.planname)) as planname, case when s.agttype = 'A' then 'Agency' when s.agttype in ('B','P','X') then 'Bank' when s.agttype = 'E' then 'E-Biz' when s.agttype = 'I' then 'StaffAgent' when s.agttype = 'K' then 'Broker' when s.agttype = 'W' then 'HNW' when s.agttype = 'S' then 'DM' else s.agttype end as SalesChannels, nco.effdate as EffectiveDate, nco.expdate as ExpireDate, nco.status, '暂停销售' as flag, '2' as rownum from nbrplanexp nco inner join NBRCURCODE c on nco.curcode = c.curcode inner join NBRSALCHNL s on (nco.chanlcode = s.chanlcode) and s.agttype in ('A','B','P','X') inner join nladpa pa on (pa.planco = c.co or pa.planco = '0086') and ltrim(rtrim(nco.plancode)) = ltrim(rtrim(pa.plancode)) where 1=1 and nco.orgid = 'AAAAAA' ) order by plancode, co, rownum ) t ) where id = 1 ) ttt where tt.co = ttt.co and tt.plancode = ttt.plancode and s.SalesChannels = ttt.SalesChannels)]; The connection does not exist.; nested exception is java.sql.SQLException: The connection does not exist. The Exception information of the program has been sent as follows, please deal with it in time. Exception generation time: 2025-08-04 06:00:00 org.springframework.dao.DataAccessResourceFailureException: StatementCallback; SQL [select tt.co, tt.plancode, tt.planname, s.SalesChannels, tt.EffectiveDate, tt.ExpireDate, tt.status, tt.flag from ( select t.co, t.plancode, t.planname, t.SalesChannels, t.EffectiveDate, t.ExpireDate, t.status, t.flag, (row_number() over(partition by t.co, t.plancode, t.planname order by t.rownum)) as id from ( select * from ( select distinct c.co, ltrim(rtrim(nco.plancode)) as plancode, ltrim(rtrim(pa.planname)) as planname, 'All' as SalesChannels, nco.effdate as EffectiveDate, nco.expdate as ExpireDate, nco.status, '暂停销售' as flag, '1' as rownum from nbrplan nco inner join NBRCURCODE c on nco.orgid = c.orgid and nco.curcode = c.curcode left join nladpa pa on (pa.planco = c.co or pa.planco = '0086') and ltrim(rtrim(nco.plancode)) = ltrim(rtrim(pa.plancode)) where 1=1 and nco.orgid <> 'AAAAAA' union select distinct c.co, ltrim(rtrim(nco.plancode)) as plancode, ltrim(rtrim(pa.planname)) as planname, 'All' as SalesChannels, nco.effdate as EffectiveDate, nco.expdate as ExpireDate, nco.status, '暂停销售' as flag, '2' as rownum from nbrplan nco inner join NBRCURCODE c on nco.curcode = c.curcode left join nladpa pa on (pa.planco = c.co or pa.planco = '0086') and ltrim(rtrim(nco.plancode)) = ltrim(rtrim(pa.plancode)) where 1=1 and nco.orgid = 'AAAAAA' ) order by plancode, co, rownum ) t ) tt left join (select 'Agency' as SalesChannels from sysibm.sysdummy1 union select 'Bank' as SalesChannels from sysibm.sysdummy1 union select 'All' as SalesChannels from sysibm.sysdummy1) s on 1=1 where tt.id = 1 and not exists ( select 1 from ( select co, plancode, planname, SalesChannels, EffectiveDate, ExpireDate, status, flag from ( select t.co, t.plancode, t.planname, t.SalesChannels, t.EffectiveDate, t.ExpireDate, t.status, t.flag, (row_number() over(partition by t.co, t.plancode, t.planname, t.SalesChannels order by t.rownum)) as id from ( select * from ( select distinct c.co, ltrim(rtrim(nco.plancode)) as plancode, ltrim(rtrim(pa.planname)) as planname, case when ltrim(rtrim(s.agttype)) = 'A' then 'Agency' when ltrim(rtrim(s.agttype)) in ('B','P','X') then 'Bank' when ltrim(rtrim(s.agttype)) = 'E' then 'E-Biz' when ltrim(rtrim(s.agttype)) = 'I' then 'StaffAgent' when ltrim(rtrim(s.agttype)) = 'K' then 'Broker' when ltrim(rtrim(s.agttype)) = 'W' then 'HNW' when ltrim(rtrim(s.agttype)) = 'S' then 'DM' else s.agttype end as SalesChannels, nco.effdate as EffectiveDate, nco.expdate as ExpireDate, nco.status, '暂停销售' as flag, '1' as rownum from nbrplanexp nco inner join NBRCURCODE c on nco.orgid = c.orgid and nco.curcode = c.curcode inner join NBRSALCHNL s on s.orgid = 'AAAAAA' and (nco.chanlcode = s.chanlcode) and s.agttype in ('A','B','P','X') inner join nladpa pa on (pa.planco = c.co or pa.planco = '0086') and ltrim(rtrim(nco.plancode)) = ltrim(rtrim(pa.plancode)) where 1=1 and nco.orgid <> 'AAAAAA' union select distinct c.co, ltrim(rtrim(nco.plancode)) as plancode, ltrim(rtrim(pa.planname)) as planname, case when s.agttype = 'A' then 'Agency' when s.agttype in ('B','P','X') then 'Bank' when s.agttype = 'E' then 'E-Biz' when s.agttype = 'I' then 'StaffAgent' when s.agttype = 'K' then 'Broker' when s.agttype = 'W' then 'HNW' when s.agttype = 'S' then 'DM' else s.agttype end as SalesChannels, nco.effdate as EffectiveDate, nco.expdate as ExpireDate, nco.status, '暂停销售' as flag, '2' as rownum from nbrplanexp nco inner join NBRCURCODE c on nco.curcode = c.curcode inner join NBRSALCHNL s on (nco.chanlcode = s.chanlcode) and s.agttype in ('A','B','P','X') inner join nladpa pa on (pa.planco = c.co or pa.planco = '0086') and ltrim(rtrim(nco.plancode)) = ltrim(rtrim(pa.plancode)) where 1=1 and nco.orgid = 'AAAAAA' ) order by plancode, co, rownum ) t ) where id = 1 ) ttt where tt.co = ttt.co and tt.plancode = ttt.plancode and s.SalesChannels = ttt.SalesChannels)]; The connection does not exist.; nested exception is java.sql.SQLException: The connection does not exist. at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:105) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:415) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:470) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:480) at org.springframework.jdbc.core.JdbcTemplate.queryForList(JdbcTemplate.java:506) at com.eastrobot.robotdev.service.ProductSyncService.searchPauseProduct1(ProductSyncService.java:273) at com.eastrobot.robotdev.service.ProductSyncService.sync(ProductSyncService.java:55) at com.eastrobot.robotdev.job.ProductSyncTask.sync(ProductSyncTask.java:71) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:750) Caused by: java.sql.SQLException: The connection does not exist. at com.ibm.as400.access.JDError.throwSQLException(JDError.java:415) at com.ibm.as400.access.AS400JDBCConnection.checkOpen(AS400JDBCConnection.java:459) at com.ibm.as400.access.AS400JDBCConnection.createStatement(AS400JDBCConnection.java:762) at com.ibm.as400.access.AS400JDBCConnection.createStatement(AS400JDBCConnection.java:680) at sun.reflect.GeneratedMethodAccessor199.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:131) at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:107) at org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor.invoke(AbstractCreateStatementInterceptor.java:70) at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:107) at org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:81) at com.sun.proxy.$Proxy109.createStatement(Unknown Source) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:398) ... 20 more
08-08
<!-- * @功能描述 客户端绑定密钥列表 --> <script setup> import { Message } from '@plmcsdk/common-ui'; import { ref, getCurrentInstance, watch, computed } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRoute } from 'vue-router'; import AddKeyDialog from './AddKeyDialog.vue'; import CommonTable from '@/components/common-table/CommonTable.vue'; import UEButton from '@/components/user-experience-components/UEButton.vue'; import { useHsmTypeList, signSchemaList } from '@/constants'; import useProcessStore from '@/store/modules/process'; import { reConfirm } from '@/utils'; const { hsmTypeList } = useHsmTypeList(); const route = useRoute(); const props = defineProps({ tableList: Array, isEdit: Boolean, isShowGroup: Boolean, // 展示群组 }); const { t } = useI18n(); const columnList = computed(() => { const initColumns = [ { label: t('process.type'), key: 'type', prop: 'type', width: 200, check: true, contentSlotName: 'typeSlot', hidden: !(isChangeFlow.value || props.isShowGroup), }, { label: t('bgManagement.bgName'), key: 'bgName', prop: 'bgName', check: true, }, { label: t('buManagement.buName'), key: 'buName', prop: 'buName', check: true, }, { label: t('common.signStandard'), key: 'signType', prop: 'signType', check: true, contentSlotName: 'signTypeSlot', }, { label: t('common.signatureKey'), key: 'certAlias', prop: 'certAlias', check: true, }, { label: t('process.keyUsage'), key: 'keyUsage', prop: 'keyUsage', check: true, }, { label: t('common.keyExpDate'), key: 'expDate', prop: 'expDate', check: true, }, { label: t('common.encryptorType'), key: 'hsmType', prop: 'hsmType', check: true, contentSlotName: 'hsmTypeSlot', }, { key: 'operation', prop: 'operation', width: '80', label: t('common.opt'), contentSlotName: 'operationContentSlot', check: true, hidden: !(props.isEdit && (isChangeFlow.value || props.isShowGroup)), // 更新编辑或者注册构建编辑时 }, ]; if (props.isShowGroup) { // 在签名密钥后面增加群组展示 const index = initColumns.findIndex(item => item.prop === 'certAlias'); initColumns.splice(index + 1, 0, { label: t('process.cloudGroup'), key: 'groupName', prop: 'groupName', contentSlotName: 'groupName', check: true, }); } return initColumns; }); const baseConfig = computed(() => { return { showPage: false, showSeq: true, showSelection: props.isEdit, }; }); const isChangeFlow = computed(() => { return route.fullPath.includes('clientChange'); }); const data = ref([]); const showDialog = ref(false); const { proxy } = getCurrentInstance(); // bu下拉选项 const buList = ref([]); const selectData = ref([]); const refTable = ref(null); const fillTable = val => { data.value = [...val]; }; watch( () => props.tableList, val => { fillTable(val); }, { immediate: true, deep: true, } ); function validator() { return data.value.length; } // 将基础信息传递过来的产品线进行记录 const curProductLine = computed(() => { return useProcessStore().productLineCode; }); // 添加 function handleAdd() { if (!curProductLine.value) { Message.error(t('process.notSelectProductLineMsg')); return; } showDialog.value = true; } // 删除 function handleDelete() { reConfirm({ content: t('process.deleteKeyTip') }).then(() => { const list = [...data.value]; if (isChangeFlow.value || props.isShowGroup) { const selAddList = selectData.value.filter(item => item.isDeleted === '2'); const selOldList = selectData.value.filter(item => item.isDeleted !== '2'); const list2 = list.map(item => { const sel = selOldList.find( selData => item.buId === selData.buId && item.certAlias === selData.certAlias && item.bgName === selData.bgName && item.groupId === selData.groupId && selData.isDeleted === '0' ); if (sel) { return { ...item, isDeleted: '1', }; } else { return item; } }); data.value = list2.filter(item => { return !selAddList.some( selData => item.buId === selData.buId && item.certAlias === selData.certAlias && item.bgName === selData.bgName && item.groupId === selData.groupId ); }); } else { data.value = list.filter(item => { return !selectData.value.some(selData => item.buId === selData.buId && item.certAlias === selData.certAlias && item.bgName === selData.bgName); }); } refTable.value.elTableRef.$el.clearSelection(); proxy.$bus.$emit('applyCertList', data.value); }); } /** * 更新表格数据 * @param key 添加的密钥信息 */ const updateList = key => { const updateData = itemKey => { if (isChangeFlow.value || props.isShowGroup) { data.value.push({ ...itemKey, isDeleted: '2' }); proxy.$bus.$emit('applyCertList', data.value); } else { data.value.push(key); } }; // groupId修改为多选,需要将多选构建为多条数据 const copyKey = { ...key }; if (key?.groupName?.length) { key.groupName.forEach(item => { copyKey.groupId = item.id; copyKey.groupName = item.name; updateData(copyKey); }); } else { updateData(key); } refTable.value.elTableRef.$el.clearSelection(); }; const handleTableSelect = val => { selectData.value = val; }; const cellClassName = ({ row, column }) => { if (row.isDeleted === '1' && column.property !== 'operation') { return 'client-change-del-cell'; } if (row.isDeleted === '2') { return 'client-change-add-cell'; } return ''; }; const rollback = row => { row.isDeleted = '0'; }; defineExpose({ validator, data, }); </script> <template> <div> <ElCollapse model-value="applicationInstructions" class="over-hide p-0-20 bt-line"> <ElCollapseItem :title="$t('process.clientKeyTableTitle')" name="applicationInstructions"> <div v-if="isEdit" class="button-group mb-12"> <UEButton type="primary" @click="handleAdd">{{ $t('common.add') }}</UEButton> <ElTooltip :content="selectData.length === 0 ? $t('common.selectDataTip') : ''" placement="top"> <UEButton :disabled="selectData.length === 0" @click="handleDelete">{{ $t('common.del') }}</UEButton> </ElTooltip> </div> <div style="height: 200px; margin-bottom: var(--ue-element-spacing)"> <CommonTable ref="refTable" :height="'100%'" :cell-class-name="cellClassName" :base-config="baseConfig" :data="data" :column-list="columnList" no-scroll-x @select="handleTableSelect" > <template #groupName="scope"> <span>{{ `${scope.row.groupName} | ${scope.row.groupId}` }}</span> </template> <template #typeSlot="scope"> <span v-if="scope.row.isDeleted === '0'">{{ $t('common.alreadyHave') }}</span> <span v-if="scope.row.isDeleted === '1'">{{ $t('common.removed') }}</span> <span v-if="scope.row.isDeleted === '2'">{{ $t('common.newAdd') }}</span> </template> <template #signTypeSlot="scope"> <span>{{ signSchemaList.find(item => item.value === scope.row.signType)?.name }}</span> </template> <template #hsmTypeSlot="scope"> <span>{{ hsmTypeList.find(item => item.value === scope.row.hsmType)?.name }}</span> </template> <template #operationContentSlot="scope"> <i v-if="scope.row.isDeleted === '1'" :title="$t('process.undoDelete')" class="ipd-font-icon icon-revoke" @click="rollback(scope.row)"></i> </template> </CommonTable> </div> <!-- 添加密钥弹窗 --> <AddKeyDialog v-if="showDialog" v-model="showDialog" :product-line-code="curProductLine" :key-list="data" :is-show-group="isShowGroup" @update-key-list="updateList" /> </ElCollapseItem> </ElCollapse> </div> </template> <style lang="less" scoped> .ipd-font-icon { color: var(--ue-main-primary-color); } </style> 这是BindKey组件的内容,结合这个组件分析刚才的问题,并且分析出appCertList对象的属性有哪些
最新发布
09-26
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值