jdbctemmple-在PLSQL中执行没问题,在JDBC中查询报列名无效

问题描述

在PLSQL中执行没问题,在JDBC中查询报列名无效

大家帮忙看看,这段SQL有什么问题,我在PLSQL中执行没问题,但是用JDBC查的时候就报列名无效的错误。
select *
from (select T_c_p_i.HOUSEHOLD_ID,
T_c_p_i.HOUSEHOLD_HEAD_RELATIONSHIP,
T_P_H_A.attribute_meaning as attribute_meaning,
T_c_p_i.PERSON_NAME,
T_c_p_i.GENDER,
to_char(T_c_p_i.BIRTHDAY, 'yyyy/mm/dd'),
T_c_p_i.ID_NUMBER,
T_c_i.COOPERATE_NUMBER,
T_c_i.PERSON_PAYMENT,
T_c_p_i.MARRIAGE_STATE,
T_c_p_i.NATION,
T_c_i.LIVE_TOWN,
T_c_i.LIVE_VILLAGE,
T_c_i.CONTACT_WAY,
T_c_i.CONTACT_ADDRESS,
T_c_p_i.CHRONIC_DISEASE1,
T_c_p_i.CHRONIC_DISEASE2,
T_c_p_i.CHRONIC_DISEASE3,
T_P_H_A.attributeMean as attributeMean,
T_c_i.Area_Id,
T_c_i.Cooperate_Year,
f.hospital_id
from t_cooperate_info T_c_i
left join t_cooperate_person_info T_c_p_i
on T_c_i.person_info_id = T_c_p_i.id
left join (select personInfo.personId,
personInfo.attributeMean,
houseInfo.attribute_meaning
from (select personId,
sys_connect_by_path(attributeMean, ',') attributeMean
from (select temp.person_info_id as personId,
temp.attribute_meaning as attributeMean,
row_number() over(partition by temp.person_info_id order by temp.person_info_id) rn,
count(*) over(partition by temp.person_info_id) cnt
from (select a.person_info_id,
b.attribute_meaning
from t_person_attribute_link a,
t_person_household_attribute b
where a.attribute_id = b.id
and b.id in
(select id
from t_person_household_attribute
where t_person_household_attribute.attribute_type = '01')) temp)
where level = cnt
start with rn = 1
connect by prior personId = personId
and prior rn = rn - 1) personInfo
left join (select a.person_info_id, b.attribute_meaning
from t_person_attribute_link a,
t_person_household_attribute b
where a.attribute_id = b.id
and b.id in
(select id
from t_person_household_attribute
where t_person_household_attribute.attribute_type = '02')
order by a.person_info_id asc) houseInfo
on personInfo.personId = houseInfo.person_info_id) T_P_H_A
on t_p_h_a.personId = T_c_i.Person_Info_Id
left join t_cooperate_info_hospital_link f
on f.cooperate_info_id = T_c_i.Person_Info_Id)
where 1 = 1
and cooperate_year like '%2013%'
and area_id = '1099100700371197000'

解决方案

问题可以说清楚点:错误日志? 有无用到Hibernet等框架?什么环境?

用排除法来解决错误吧
1.select ```````` 这些字段可以一部份一部份来查,直到找到不能识别的列

PS:to_char(T_c_p_i.BIRTHDAY, 'yyyy/mm/dd') 要给别名

时间: 2024-12-25 10:41:44

jdbctemmple-在PLSQL中执行没问题,在JDBC中查询报列名无效的相关文章

centos 中mysql5.5.37版本 springmvc中的serves 执行没包涵在事物中

问题描述 centos 中mysql5.5.37版本 springmvc中的serves 执行没包涵在事物中 centos 中mysql5.5.37版本 springmvc中的serves 执行DB操作直接成功,为什么没包涵在事物中啊,本地同样版本测试没有问题,本地测试执行 save 方法是等整个事物完成后DB中才有数据,如果中途失败是会回滚的,但是在linux中一执行到save方法DB就已经有这条数据了,不知道怎么回事,求指点 解决方案 http://blog.csdn.net/ufo2910

oracle11g-使用的ASP.NET,操作ORACLE数据时,在VS中执行的效果和PL中不一样

问题描述 使用的ASP.NET,操作ORACLE数据时,在VS中执行的效果和PL中不一样 简单说来就是我有一个表A,我向其中插入数据,用最简单的方式insert into A values(aa='aa',bb='bb'),在VS中会报出"关于ora-00942: 表或视图不存在"这个错误,将这个SQL语句原封不动的copy到PL里面,就能实现.还有就是我select * from A,在VS中执行得不到任何数据,但是在PL中能得到4行数据,与真实情况吻合,求解是什么情况... 解决方

弹窗-在js代码中执行到某一行代码中手动暂停,然后在手动启动执行

问题描述 在js代码中执行到某一行代码中手动暂停,然后在手动启动执行 我js代码中执行到某一行代码的时候,我想手动的暂停在某一行代码. 然后在通过手动的方式在启动执行下面的代码. 例如:我想在函数a中调用了函数b,而函数b的作用是弹出窗口,让用户输入信息. 我想获取到弹窗用户输入的信息在a函数中用. 但是现在实现的结果不理想.在执行完b函数弹窗的时候,a函数继续往下执行. 获取不到弹窗的用户输入的信息. 那位大神给个思路... 解决方案 function playVideo(){ player.

怪异问题!sql在pl/sql中执行结果与java jdbc执行结果不一致

问题描述 做一查询系统(struts2+myeclipse+tomcat+oracle9),一般先在pl/sql中测试sql语句,无问题后在action中使用oracle thin模式连接数据库,执行sql语句,然后将查询结果存入HashMap后输出至jsp页面.出现如下怪异问题:1.在pl/sql中测试sql语句时结果正常.结果中有6个字段,其中两个字段为count()函数统计出的数值.2.将在pl/sql中测试过的sql语句写入struts2的action中,通过jdbc thin模式执行,

大量数据执行-oracle在存储过程中执行update语句

问题描述 oracle在存储过程中执行update语句 在存储过程中经过加工对表执行update语句,但表的数据太大了,2百多万数据的表我就要执行1个多小时,,,8千多万数据的表要怎么办啊? 解决方案 有这样的思路你可参考下: 思路1.写存储过程,引入loop循环,分批次更新.提交: 思路2.以nologging形式重新建表,按新规则把数据插过来:

请大家帮忙-实现使用C#语言,在.net开发平台中执行sql语句

问题描述 实现使用C#语言,在.net开发平台中执行sql语句 实现使用C#语言,在.net开发平台中执行sql语句了,如查询某张表数据,向某张表插入一条数据,在某张表中编辑一条数据,删除某张表的一条数据. 解决方案 给你段代码,你参考一下 using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; using System.W

windows-sql复制到window命令行中执行出错

问题描述 sql复制到window命令行中执行出错 在zend studio中写好sql,那些表之类的都加了单引号,复制到window命令行中执行就出错, 但是删除了所有的引号之后就好了,这是为什么,我又该怎么复制? 解决方案 引号需要转义,另外查询内部不能有作为引号的字符,检查下,还不行贴出你的sql和错误信息. 解决方案二: 谢谢你,我知道原因了O(∩_∩)O~

java-JAVA调用bat时,使用echo答复命令中的提问,执行没生效。求大神,急急急!!!

问题描述 JAVA调用bat时,使用echo答复命令中的提问,执行没生效.求大神,急急急!!! 生成bat内容: @echo off d: cd d:UGSClearanceDB_Work_Areaecho y | delete_product.pl T21 pause exit @echo on 执行语句如下: String cmd = "cmd /c start d: delete_bat.bat" ; Runtime rt = Runtime.getRuntime(); Proc

java-为什么我在Java类中执行SQL语句,程序没错,而数据库却没执行??

问题描述 为什么我在Java类中执行SQL语句,程序没错,而数据库却没执行?? 解决方案 不知道画了删除线是什么意思,你确认这些代码有效么 解决方案二: 你用的什么啊?Hibernate?还是别的框架啊?Hibernate的话,可能是事务没有提交,你执行flush方法就可以了 解决方案三: 代码可以贴全一点吗?看不到关键部分 解决方案四: 代码内容太少了,你的Sqlca是个什么,最起码给个声明. 解决方案五: 你的sqlca是什么啊? 解决方案六: executeSQL方法问题 这个方法只能是查