Olá pessoal,
Estou tentando executar uma função desenvolvida em plsql oracle, no java.
Um dos parâmetros dessa funcção é um tipo de dado Clob, o problema é que quando eu passo o clob para a função, é lançada a exeção abaixo:
Exception in thread "main" java.lang.ClassCastException: javax.sql.rowset.serial.SerialClob cannot be cast to oracle.sql.CLOB
Acredito que seja pelo fato do conteúdo do Clob ser muito extenso.
Alguém tem idéia de como eu possa solucionar esse problema?
private void exportarParaXmlComWhere(String nomeTabela) throws Exception{
PreparedStatement stmt = null;
String strIdsSelecionados = "";
strIdsSelecionados += ";";
String resIdSelecionados = strIdsSelecionados.replaceAll(", ;", "");
String sql = "SELECT EXPORTA_XML(?, ?) as XML FROM DUAL";
java.sql.Clob clobValores = new SerialClob(listaEstId.toCharArray());
stmt = con.prepareStatement(sql);
stmt.setString(1, "ICATB_ESTACAO");
stmt.setClob(2, clobValores);
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
String xml = rs.getString("XML");
if(xml != null){
makeFile("C:/Documents and Settings/levi/Desktop/teste", xml);
}
}
rs.close();
stmt.close();
}
public Teste() {
super();
listaEstId = " WHERE EST_ID IN (90234, 90235, 90236, 90237, " +
"90230, 90231, 90232, 90233, 90228, 90227, 90229, 90240, 90247, 90248, 90245, 90246, 90243, " +
"90244, 90241, 90242, 2, 6, 90239, 90238, 4, 9, 90250, 90251, 90252, 90253, 90254, 90255, " +
"90256, 90257, 90258, 90259, 90249, 90261, 90262, 90260, 90263, 90264, 80999, 90204, 90203, " +
"90202, 90201, 90200, 90005, 90006, 90003, 90002, 90000, 90008, 90007, 90211, 90210, 90009, " +
"90213, 90212, 90215, 90214, 90205, 90010, 90206, 90011, 90207, 90012, 90208, 90013, 90209, " +
"90014, 90015, 90016, 90017, 90222, 90221, 90220, 90019, 90018, 90226, 90225, 90224, 90223, " +
"90020, 90218, 90023, 90219, 90024, 90216, 90021, 90217, 90022, 90027, 90028, 90025, 90026, " +
"81429, 81630, 81631, 81427, 81428, 81634, 81635, 81632, 81633, 81433, 81628, 81432, 81627, " +
"81431, 81626, 81430, 81625, 81437, 81436, 81435, 81434, 81629, 81416, 81417, 81418, 81419, " +
"81620, 81621, 81622, 81623, 81624, 81420, 81615, 81614, 81422, 81617, 81421, 81616, 81424, " +
"81619, 81423, 81618, 81426, 81425, 81612, 81613, 81409, 81610, 81611, 81407, 81408, 81405, " +
"81406, 81415, 81414, 81609, 81413, 81608, 81412, 81607, 81411, 81606, 81410, 81605, 81604, " +
"81603, 81600, 81601, 81602, 81402, 81401, 81404, 81403, 81400, 81671, 81670, 81675, 81674, " +
"81673, 81672, 81679, 81678, 81677, 81676, 81669, 81660, 81662, 81661, 81664, 81663, 81666, " +
"81665, 81668, 81667, 81658, 81659, 81657, 81656, 81655, 81654, 81653, 81652, 81651, 81650, " +
"81649, 81647, 81648, 81644, 81643, 81646, 81645, 81640, 81642, 81641, 81636, 81637, 81638, " +
"81639, 81385, 81384, 81383, 81382, 81381, 81380, 81199, 81198, 81197, 81196, 81195, 81389, " +
"81194, 81388, 81193, 81387, 81192, 81386, 81191, 81190, 81588, 81589, 81586, 81587, 81584, " +
"81585, 81582, 81583, 81580, 81581, 81394, 81393, 81396, 81395, 81390, 81189, 81188, 81392, " +
"81391, 81185, 81184, 81187, 81186, 81398, 81181, 81397, 81180, 81183, 81399, 81182, 81599, " +
"81595, 81596, 81597, 81598, 81591, 81592, 81593, 81594, 81590, 81179, 81178, 81177, 81363, " +
"81362, 81361, 81360, 81367, 81172, 81366, 81171, 81365, 81170, 81364, 81559, 81176, 81175, " +
"81369, 81174, 81368, 81173, 81564, 81565, 81562, 81563, 81568, 81569, 81566, 81567, 81560, " +
"81561, 81167, 81166, 81370, 81169, 81168, 81372, 81371, 81374, 81373, 81376, 81375, 81378, " +
"81161, 81377, 81160, 81163, 81379, 81162, 81165, 81164, 81573, 81574, 81575, 81576, 81577, " +
"81578, 81579, 81570, 81571, 81572, 81348, 81349, 81346, 81347, 81344, 81345, 81342, 81343, " +
"81340, 81341, 81339, 81357, 81358, 81359, 81353, 81354, 81355, 81356, 81350, 81351, 81352, " +
"81322, 81323, 81320, 81321, 81326, 81327, 81324, 81325, 81319, 81318, 81317, 81331, 81332, " +
"81333, 81334, 81335, 81336, 81337, 81338, 81330, 81329, 81328, 81108, 81109, 81116, 81115, " +
"81118, 81117, 81112, 81111, 81114, 81113, 81110, 90191, 81107, 90192, 81106, 81105, 90190, " +
"81104, 90195, 81103, 90196, 81102, 90193, 81101, 90194, 81100, 90199, 90197, 90198, 90165, " +
"81151, 90164, 81152, 90167, 81153, 90166, 81154, 90169, 90168, 81150, 81159, 90161, 81155, " +
"90160, 81156, 90163, 81157, 90162, 81158, 90156, 81142, 90155, 81143, 90154, 81140, 90153, " +
"81141, 90159, 90158, 90157, 81148, 81149, 90152, 81146, 90151, 81147, 90150, 81144, 81145, " +
"90187, 90186, 81130, 90189, 81131, 90188, 81132, 90183, 81133, 90182, 81134, 90185, 81135, " +
"90184, 81136, 81137, 81138, 90181, 81139, 90180, 81119, 90179, 90178, 81120, 90177, 81121, " +
"90176, 90175, 90174, 81124, 90173, 81125, 90172, 81122, 90171, 81123, 90170, 81128, 81129, " +
"81126, 81127, 90131, 90132, 90133, 90134, 90135, 90136, 90137, 90138, 90130, 90129, 90128, " +
"90144, 90145) OR EST_ID IN (90142, 90143, 90148, 90149, 90146, 90147, 90140, 90141, 90139, " +
"90113, 90114, 90115, 90116, 90110, 90111, 90112, 90107, 90106, 90109, 90108, 90126, 90127, " +
"90124, 90125, 90122, 90123, 90120, 90121, 90119, 90118, 90117, 90101, 90100, 90105, 90104, " +
"90103, 90102, 81300, 81301, 81302, 81303, 81304, 81305, 81702, 81703, 81704, 81705, 81706, " +
"81707, 81708, 81709, 81710, 81712, 81711, 81311, 81312, 81310, 81315, 81316, 81313, 81314, " +
"81701, 81700, 81309, 81308, 81307, 81306, 81733, 81734, 81731, 81732, 81528, 81529, 81730, " +
"81526, 81527, 81536, 81535, 81534, 81729, 81533, 81728, 81532, 81727, 81531, 81726, 81530, " +
"81725, 81724, 81519, 81720, 81721, 81722, 81723, 81515, 81516, 81517, 81518, 81523, 81718, " +
"81522, 81525, 81524, 81719, 81714, 81713, 81521, 81716, 81520, 81715, 81751, 81752, 81548, " +
"81750, 81549, 81755, 81756, 81753, 81754, 81749, 81554, 81748, 81553, 81747, 81552, 81746, " +
"81551, 81558, 81557, 81556, 81555, 81550, 81537, 81538, 81740, 81539, 81741, 81742, 81743, " +
"81744, 81745, 81736, 81541, 81735, 81540, 81738, 81543, 81737, 81542, 81545, 81739, 81544, " +
"81547, 81546, 81778, 81777, 81776, 81775, 81774, 81773, 81772, 81771, 81770, 81768, 81769, " +
"81765, 81764, 81767, 81766, 81761, 81760, 81763, 81762, 81757, 81758, 81759, 81796, 81507, " +
"81795, 81506, 81794, 81505, 81793, 81504, 81799, 81798, 81509, 81797, 81508, 81792, 81791, " +
"81790, 81510, 81513, 81514, 81511, 81512, 81783, 81782, 81785, 81784, 81787, 81786, 81789, " +
"81788, 81781, 81780, 81779, 81500, 81501, 81502, 81503, 81293, 81488, 81292, 81487, 81291, " +
"81486, 81485, 81290, 81297, 81091, 81296, 81090, 81295, 81294, 81489, 81836, 81480, 81837, " +
"81834, 81299, 81835, 81298, 81484, 81483, 81838, 81482, 81839, 81481, 81840, 81681, 81682, " +
"81680, 40, 81685, 81094, 81686, 81095, 81683, 81092, 81684, 81093, 81689, 81098, 81099, " +
"81687, 81096, 81688, 81097, 81497, 81280, 81496, 81499, 81282, 81498, 81281, 81284, 81283," +
" 81080, 81286, 81285, 81288, 81287, 81491, 24, 81490, 81289, 81493, 81492, 81495, 28, " +
"81494, 29, 81089, 81690, 30, 81691, 81692, 81693, 81694, 81081, 81695, 81082, 81696, 81083, " +
"81697, 81084, 81698, 81085, 81699, 81086, 81087, 81088, 19, 18, 15, 16, 11, 20, 10, 79, 77," +
" 81440, 81443, 81444, 81441, 81442, 81447, 81448, 81445, 81446, 81051, 81050, 81439, 81438," +
" 81055, 81054, 81053, 81052, 81059, 81058, 80, 81057, 81, 81056, 69, 81450, 81451, 81452, " +
"81453, 81454, 81455, 81456, 81457, 81458, 81459, 81449, 81040, 81042, 81041, 81044, 81043," +
" 81046, 81045, 81048, 81047, 81049, 75, 81461, 81462, 81460, 81469, 81467, 81468, 81465, " +
"81466, 81463, 81464, 81077, 81076, 81075, 81074, 81073, 81072, 81071, 81070, 81079, 81078, " +
"81470, 81471, 81472, 81473, 46, 81478, 81479, 81474, 81475, 81476, 81477, 81064, 81063, " +
"81066, 81065, 81060, 81062, 81061, 81068, 81067, 81069, 81012, 81207, 81013, 81208, 81014," +
" 81209, 81015, 81016, 81017, 81018, 81019, 81010, 81011, 81211, 81009, 81210, 81213, 81212," +
" 81215, 81214, 81217, 81216, 81003, 81007, 81008, 81006, 90098, 90099, 90096, 81202, 90097," +
" 81201, 90094, 81200, 90095, 90092, 81206, 90093, 81205, 90090, 81204, 90091, 81203, 81038," +
" 81039, 81034, 81229, 81035, 81036, 81037, 81030, 81031, 81032, 81033, 90087, 90088, 90089," +
" 81231, 81230, 81237, 90080, 81236, 90081, 81239, 90082, 81238, 90083, 102, 81233, 90084, " +
"101, 81232, 90085, 100, 81235, 90086, 81234, 81029, 81027, 81028, 81025, 81026, 81023, " +
"81218, 81024, 81219, 81021, 81022, 81020, 90078, 81220, 90079, 90076, 90077, 90070, 81228, " +
"90071, 81227, 81226, 81225, 90074, 81224) OR EST_ID IN (90075, 81223, 90072, 81222, 90073," +
" 81221, 81800, 90062, 81254, 90061, 81255, 90064, 81256, 90063, 81257, 81258, 81259, 90060, " +
"90069, 90066, 81250, 90065, 81251, 90068, 81252, 90067, 81253, 81810, 81811, 81804, 90053," +
" 81245, 81803, 90052, 81246, 81802, 90051, 81243, 81801, 90050, 81244, 81808, 81249, 81807, " +
"81806, 81247, 81805, 81248, 90059, 81809, 90058, 90057, 81241, 90056, 81242, 90055, 90054, " +
"81240, 81820, 81821, 81822, 81817, 81816, 81819, 81818, 81813, 90040, 81276, 81812, 81277," +
" 81815, 90042, 81278, 81814, 90041, 81279, 90044, 81272, 90043, 81273, 90046, 81274, 90045," +
" 81275, 90048, 90047, 81270, 90049, 81271, 90029, 81832, 81833, 81830, 81831, 81829, 81828, " +
"81269, 81827, 81826, 90031, 81267, 81825, 90030, 81268, 81824, 81265, 81823, 81266, 90035," +
" 81263, 90034, 81264, 90033, 81261, 90032, 81262, 90039, 90038, " +
"81260, 90037, 90036)) as XML FROM DUAL";
this.con = Conecta.getConcexaoHidro();
}