2019/4/28

今天由于某些原因搞得身体很虚弱,哈哈,所以今天主要进行了sqlite数据库数据的注入,然后解决了一个问题就是

no devices/emulators found错误解决方法:中文翻译:找不到设备/模拟器,跟eclipse找不到虚拟机一样,重启虚拟机即可

 

然后就是记录记录注入数据,真对不起自己一天:

INSERT INTO GSC VALUES (001,"孤鸿海上来,池潢不敢顾。

侧见双翠鸟,巢在三珠树。

矫矫珍木巅,得无金丸惧。

美服患人指,高明逼神恶。

今我游冥冥,弋者何所慕。","张九龄:感遇四首之一");

 

root@shamu:/data/data # cd com.example.activitylifecycletest/databases

qlite3 FeiHuaLin.db                                                           <

SQLite version 3.8.6.1 2015-05-21 17:24:32

Enter ".help" for usage hints.

sqlite> .table

GSC               User              android_metadata

sqlite> .schema

CREATE TABLE android_metadata (locale TEXT);

CREATE TABLE User (id integer primary key autoincrement, password text, name text, level integer);

CREATE TABLE GSC (id integer primary key autoincrement, title text, nei_rong text);

sqlite> INSERT INTO GSC VALUES (001,"张九龄:感遇四首之一","

   ...> 孤鸿海上来,池潢不敢顾。

   ...> 侧见双翠鸟,巢在三珠树。

   ...> 矫矫珍木巅,得无金丸惧。

   ...> 美服患人指,高明逼神恶。

今   ...> 我游冥冥,弋者何所慕。");

sqlite> INSERT INTO GSC VALUES (002,"张九龄:感遇四首之二","

   ...> 兰叶春葳蕤,桂华秋皎洁。

?  ...> 佬来松猓远呀凇?

?  ...> 制苷撸欧缱嘣谩?

?  ...> 菽居斜拘模吻竺廊苏郏?);

sqlite> select *from GSC;

1|张九龄:感遇四首之一|

孤鸿海上来,池潢不敢顾。

侧见双翠鸟,巢在三珠树。

矫矫珍木巅,得无金丸惧。

美服患人指,高明逼神恶。

今我游冥冥,弋者何所慕。

2|张九龄:感遇四首之二|

兰叶春葳蕤,桂华秋皎洁。

欣欣此生意,自尔为佳节。

谁知林栖者,闻风坐相悦。

草木有本心,何求美人折?

sqlite> INSERT INTO GSC VALUES (003,"张九龄:感遇四首之三","

幽   ...> 人归独卧,滞虑洗孤清。

?  ...> 执诵桓吣瘢蛑肚椤?

   ...> 日夕怀空意,人谁感至精?

飞沈   ...> 理自隔,何所慰吾诚?");

sqlite>

sqlite> INSERT INTO GSC VALUES (004,"张九龄:感遇四首之四","

   ...> 江南有丹橘,经冬犹绿林。

岂伊?  ...> 仄杂兴旰摹?

   ...> 可以荐嘉客,奈何阻重深!

   ...> 运命惟所遇,循环不可寻。

徒   ...> 言树桃李,此木岂无阴?");

sqlite> INSERT INTO GSC VALUES (005,"李白:下终南山过斛斯山人宿置酒","

暮从碧山下?  ...> 皆滤嫒斯椋?

   ...> 却顾所来径,苍苍横翠微。

相   ...> 携及田家,童稚开荆扉。

?  ...> 讨袢胗木叮嗦芊餍幸隆?

欢   ...> 言得所憩,美酒聊共挥。

?  ...> じ枰魉煞纾『有窍 ?

我   ...> 醉君复乐,陶然共忘机。");

sqlite> INSERT INTO GSC VALUES (006,"李白:月下独酌","

花   ...> 间一壶酒,独酌无相亲。

举杯   ...> 邀明月,对影成三人。

月既   ...> 不解饮,影徒随我身。

   ...> 暂伴月将影,行乐须及春。

   ...> 我歌月徘徊,我舞影零乱。

醒   ...> 时同交欢,醉后各分散。

永结无   ...> 情游,相期邈云汉。");

sqlite>

sqlite> INSERT INTO GSC VALUES (007,"李白:春思","

   ...> 燕草如碧丝,秦桑低绿枝。

当   ...> 君怀归日,是妾断肠时。

春风   ...> 不相识,何事入罗帏?");

sqlite>

sqlite> INSERT INTO GSC VALUES (008,"杜甫:望岳","

岱?  ...> 诜蛉绾危肼城辔戳恕?

造化钟神?  ...> 悖跹舾罨柘?

汤胸生层云,决   ...> 眦入归鸟,

会当凌绝顶,一   ...> 览众山小。?");

sqlite> INSERT INTO GSC VALUES (009,"杜甫:赠卫八处士","

人生?  ...> 幌嗉绮斡肷獭?

?  ...> 裣Ω春蜗Γ泊说浦蚬狻

少?  ...> 衬芗甘保薹⒏饕巡浴?

   ...> 访旧半为鬼,惊呼热中肠。

焉知   ...> 二十载,重上君子堂。

昔   ...> 别君未婚,儿女忽成行。

   ...> 怡然敬父执,问我来何方。

问   ...> 答乃未已,驱儿罗酒浆。

夜雨剪春韭,新炊   ...> 间黄粱。

主称会面?  ...> 眩痪倮凼?

十觞?  ...> 嗖蛔恚凶庸室獬ぁ?

明   ...> 日隔山岳,世事两茫茫。");

sqlite>

sqlite> INSERT INTO GSC VALUES (010,"杜甫:佳人","

绝   ...> 代有佳人,幽居在空谷。

   ...> 自云良家子,零落依草木。

关中昔丧   ...> 乱,兄弟遭杀戮。

官高何足论,不得收骨?  ...> 狻?

世   ...> 情恶衰歇,万事随转烛。

夫婿轻薄儿,新人美如玉。   ...>

合昏   ...> 尚知时,鸳鸯不独宿。

但见新人笑,那闻?扇丝蓿?

在山泉水清,出山?  ...> 恰

   ...> 侍婢卖珠回,牵萝补茅屋。

摘   ...> 花不插发,采柏动盈掬。

天寒翠   ...> 袖薄,日暮倚修竹。");

sqlite>

sqlite> INSERT INTO GSC VALUES (011,"杜甫:梦李白二首之一","

死别   ...> 已吞声,生别常恻恻。

江?险勿莸兀鹂臀尴ⅰ

故?  ...> 巳胛颐危魑页は嘁洹?

君今在罗   ...> 网,何以有羽翼?

恐   ...> 非平生魂,路远不可测。

魂来枫?  ...> 智啵攴倒厝凇?

落月满屋梁,犹疑照?  ...> 丈

水深波浪阔,无使蛟龙得。");   ...>

sqlite> INSERT INTO GSC VALUES (012,"杜甫:梦李白二首之二","

   ...> 浮云终日行,游子久不至。

   ...> 三夜频梦君,情亲见君意。

告?  ...> 槌>执伲嗟览床灰住?

   ...> 江湖多风波,舟楫恐失坠。

出门   ...> 搔白首,若负平生志。

冠盖满京?  ...> 谷硕楞俱病?

孰云网恢恢,   ...> 将老身反累。

千秋万   ...> 岁名,寂寞身后事。");

sqlite> INSERT INTO GSC VALUES (013,"王维:送别","

下马饮君   ...> 酒,问君何所之。

君言不得意?槲阅仙节铩?

但去莫复闻   ...> ,白云无尽时。");

sqlite> INSERT INTO GSC VALUES (014,"王维:送綦毋潜落第还乡","

圣   ...> 代无隐者,英灵尽来归。

遂令   ...> 东山客,不得顾采薇。

   ...> 既至金门远,孰云吾道非?

江淮度   ...> 寒食,京洛缝春衣。

置酒长安道,同心   ...> 与我违。

行当浮桂棹   ...> ,未几拂荆扉。

远树带行?  ...> 停鲁堑甭潢汀?

吾谋适   ...> 不用,勿谓知音稀。");

sqlite> INSERT INTO GSC VALUES (015,"王维:青溪","

言?  ...> 牖苹ùǎ恐鹎嘞?

   ...> 随山将万转,趣途无百里。

声   ...> 喧乱石中,色静深松里。

漾   ...> 漾泛菱荇,澄澄映葭苇。

我心素已闲   ...> ,清川澹如此。

请留盘石上,垂钓   ...> 将已矣。");

sqlite>

sqlite> INSERT INTO GSC VALUES (016,"王维:渭川田家

   ...> ","

斜光   ...> 照墟落,穷巷牛羊归。

野老   ...> 念牧童,倚杖候荆扉。

   ...> 雉[句隹]麦苗秀,蚕眠桑叶稀。

   ...> 田夫荷锄立,相见语依依。

即此羡闲   ...> 逸,怅然吟式微。

"   ...> );

sqlite> INSERT INTO GSC VALUES (017,"王维:西施咏","

艳   ...> 色天下重,西施宁久微。

朝为越?  ...> 鹤魑夤?

贱日   ...> 岂殊众,贵来方悟稀。

   ...> 邀人傅脂粉,不自著罗衣。

   ...> 君宠益娇态,君怜无是非。

当时浣纱伴   ...> ,莫得同车归。

持谢邻家子,效颦   ...> 安可希!");

sqlite> INSERT INTO GSC VALUES (018,"孟浩然:秋登兰山寄张五","

北   ...> 山白云里,隐者自怡悦。

相   ...> 望始登高,心随雁飞灭。

愁   ...> 因薄暮起,兴是清秋发。

时见归村人,?  ...> 承卸赏沸

天边树若荠,   ...> 江畔洲如月。

何当载酒来,?  ...> 沧碇匮艚凇?);

明天见

<think>好的,用户提供了多个日期值,看起来都是合法的,但需要确认是否存在非法年份。首先,我需要检查这些日期的年份是否在Oracle允许的范围内。Oracle的DATE类型支持的年份范围是公元前4712年到公元9999年。用户提供的日期年份都在2017到2020之间,明显是合法的,所以年份应该没问题。 接下来,用户可能担心这些日期是否包含非法的格式或隐藏的错误。例如,虽然显示有星期几,但这是由NLS_DATE_FORMAT设置决定的,不影响日期本身的合法性。TRUNC函数已经将时间部分归零,但显示的星期是客户端渲染的结果,不影响存储和运算。 用户之前遇到ORA-01841错误,可能是数据中存在其他非法日期未被列出。需要建议用户检查整个表中的日期数据,尤其是那些可能被截断或存储错误的记录。例如,可能存在年份为0000的日期,或者无效的月份、日期组合。 另外,用户可能在JOIN操作中遇到隐式转换问题,导致Oracle尝试将非日期字段转换为日期,从而触发错误。需要确认JOIN字段的类型是否一致,避免隐式转换。 总结来说,用户提供的日期列表本身是合法的,但需要进一步检查整个数据表是否存在其他非法日期或类型不一致的问题。</think>### 🔍 数据合法性分析 您提供的日期列表如下: ``` 2017/12/31/周日 2018/4/27/周五 2019/3/31/周日 2020/2/28/周五 ``` 这些日期均**符合Oracle DATE类型的有效范围**(年份在1~9999之间,月日组合合法),**本身不存在非法值**。 --- ### 🧠 核心结论 | 问题 | 结论 | 原因 | |------|------|------| | **年份非法性** | ❌ 无非法年份 | 所有年份(2017~2020)均在Oracle允许的1~9999范围内 | | **月日组合** | ✅ 合法 | 2020-02-28(闰年2月有29天,但28日合法)、2017-12-31(12月有31天)等均有效 | | **星期显示** | ✅ 正常 | 星期由Oracle NLS_DATE_FORMAT自动计算,不影响日期存储合法性 | --- ### 📌 深层排查建议 虽然当前列表数据合法,但**ORA-01841错误仍可能由以下隐藏问题触发**: #### 1. **表中存在未列出的非法日期** 需扫描全表检查非法年份: ```sql -- 查找年份为0或超出范围的记录 SELECT end_date FROM t_agency_contract WHERE EXTRACT(YEAR FROM end_date) = 0 OR EXTRACT(YEAR FROM end_date) NOT BETWEEN 1 AND 9999; ``` #### 2. **隐式转换导致的错误传播** 即使日期本身合法,**JOIN条件中的字段类型不匹配**可能导致Oracle错误地将其他字段隐式转换为DATE类型: ```sql -- 检查JOIN字段类型一致性 SELECT (SELECT data_type FROM all_tab_columns WHERE table_name = &#39;T_CONTRACT_MASTER_ACY_CONTRACT&#39; AND column_name = &#39;contract_code&#39;) AS cmac_type, (SELECT data_type FROM all_tab_columns WHERE table_name = &#39;T_AGENCY_CONTRACT&#39; AND column_name = &#39;contract_code&#39;) AS tac_type FROM dual; ``` 若结果为`CHAR`与`VARCHAR2`混用,需强制显式转换: ```sql -- 强制JOIN字段为字符串类型 JOIN t_agency_contract tac ON TO_CHAR(cmac.contract_code) = TO_CHAR(tac.contract_code) ``` --- ### ✅ 最终验证步骤 1. **确认全表日期合法性** ```sql -- 验证所有日期年份合法 SELECT COUNT(*) FROM t_agency_contract WHERE EXTRACT(YEAR FROM end_date) BETWEEN 1 AND 9999; ``` 2. **检查执行计划中的隐式转换** ```sql -- 查看执行计划中是否有TO_DATE隐式转换 EXPLAIN PLAN FOR SELECT tac.* FROM T_GLS_COMMISION_FEE t JOIN gls.t_contract_master_acy_contract cmac ON t.POLICY_ID = cmac.policy_id JOIN t_agency_contract tac ON cmac.contract_code = tac.contract_code WHERE t.FEE_STATUS = &#39;0&#39; AND SYSDATE > TRUNC(tac.end_date) + 30; SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY); -- 关注"Predicates"部分是否有TO_DATE ``` --- ### 📌 关键总结 | 操作 | 目的 | 风险规避 | |------|------|----------| | `EXTRACT(YEAR FROM date)` | 排除非法年份 | 防止ORA-01841因0000年触发 | | `TO_CHAR(contract_code)` | 避免JOIN隐式转换 | 防止Oracle将字符串误转为DATE | | `EXPLAIN PLAN` | 检查隐式转换 | 确保WHERE条件中无意外TO_DATE | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值