Мне нужно вставить некоторые типы данных clob и blob в мою базу данных с помощью java. Но выполните эту задачу, используя следующий код, который показывает
import java.io.*;
import java.sql.*;
import java.util.*;
public class InsertusrProf
{
public static Connection prepareConnection()throws ClassNotFoundException,SQLException
{
String dcn="oracle.jdbc.driver.OracleDriver";
String url="jdbc:oracle:thin:@JamesPJ-PC:1521:skprk";
String usname="system";
String pass="Theking123";
Class.forName(dcn);
return DriverManager.getConnection(url,usname,pass);
}
public static void InsTable(String uname,Blob photo1,Blob video1,Blob music1,Clob notes1,Clob messages1,String link,String frd,Clob cmt,String lik,String ulik,Blob shrs,Clob qst,Clob answ,Blob updt,String thms,Clob wrd,String langs,String rlgn,String prvc,String hbs,String fvt,String qlf,String comm,String grp,String pgs,Clob ntfcn,String rqst,Clob tps,String cty,String tg)throws ClassNotFoundException,SQLException
{
StringBuilder sb=new StringBuilder(1024);;
sb.append("insert into ").append(uname).append("(PHOTO,VIDEO,MUSIC,NOTES,MESSAGES,LINKS,FRIENDS,COMMENTS,LIKES,UNLIKES,SHARES,QSTNS,ANS,UPDATES,THEMS,WORDS,LANGUAGES,RELEGION,PRIVACY,HOBBIES,FAV,QULIFICATION,COMMUNITIES,GRPS,PAGES,NOTIFICATION,REQUESTS,TIPS,CITY,TAG)values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
String stmnt=sb.toString();
Connection con=prepareConnection();
PreparedStatement ps=con.prepareStatement(stmnt);
ps.setString(1,uname);
File fl=new File("photo1");
FileInputStream fis=new FileInputStream(fl);
ps.setBinaryStream(2,fis,(int)fl.length());
File fl1=new File("music1");
FileInputStream fis1=new FileInputStream(fl1);
ps.setBinaryStream(3,fis1,(int)fl1.length());
File fl2=new File("video1");
FileInputStream fis2=new FileInputStream(fl2);
ps.setBinaryStream(4,fis2,(int)fl2.length());
File fl3=new File("shrs");
FileInputStream fis3=new FileInputStream(fl3);
ps.setBinaryStream(12,fis3,(int)fl3.length());
File fl4=new File("updt");
FileInputStream fis4=new FileInputStream(fl4);
ps.setBinaryStream(15,fis4,(int)fl4.length());
File fl5=new File(notes1);
FileReader fr=new FileReader(fl5);
ps.setCharacterStream(5,(int)fl5.length());
File fl6=new File("messages1");
FileReader fr1=new FileReader(fl6);
ps.setCharacterStream(6,(int)fl6.length());
ps.setString(7,"link");
ps.setString(8,"frd");
File fl7=new File("cmt");
FileReader fr2=new FileReader(fl7);
ps.setCharacterStream(9,(int)fl7.length());
ps.setString(10,"lik");
ps.setString(11,"ulik");
File fl8=new File("qst");
FileReader fr3=new FileReader(fl8);
ps.setCharacterStream(13,(int)fl8.length());
File fl9=new File("answ");
FileReader fr4=new FileReader(fl9);
ps.setCharacterStream(14,(int)fl9.length());
ps.setString(16,"thms");
File fl0=new File("wrd");
FileReader fr5=new FileReader(fl0);
ps.setCharacterStream(17,(int)fl0.length());
ps.setString(18,"langs");
ps.setString(19,"rlgn");
ps.setString(20,"prvc");
ps.setString(21,"hbc");
ps.setString(22,"fvt");
ps.setString(23,"qlf");
ps.setString(24,"comm");
ps.setString(25,"grp");
ps.setString(26,"pgs");
File fls=new File("ntfcn");
FileReader fr=new FileReader(fls);
ps.setCharacterStream(27,(int)fls.length());
ps.setString(28,"rqst");
File fls1=new File("tps");
FileReader fr7=new FileReader(fls1);
ps.setCharacterStream(29,(int)fls1.length());
ps.setString(30,"cty");
ps.setString(31,"tg");
int i=executeUpdate();
System.out.println("<<<<<<<Record Inserted Successfully>>>>>>> Count :"+i);
con.close();
}
public static void main(String args[])throws Exception
{
String uname="james";
Blob photo1=img1.jpeg;
Blob video1="Wildlife.wma";
Blob music1="Lelepadi.mp3";
Clob notes1="CreateTable.java";
Clob messages1="CreateTable.java";
String link="aaaaa";
String frd="bbbb";
Clob cmt="CreateTable.java";
String lik="asadssfds";
String ulik="zxzxxzcx";
Blob shrs="img1.jpeg";
Clob qst="CreateTable.java";
Clob answ="CreateTable.java";
Blob updt="img1.jpeg";
String thms="bgfvdft";
Clob wrd="CreateTable.java";
String langs="erdgdfgf";
String rlgn="bngfhgfh";
String prvc="zxcsdw";
String hbs="bgnbvc";
String fvt="tgfhfghjfgh";
String qlf="mklkopi";
String comm="mbnfchgeshgw";
String grp="bgyeadb";
String pgs="hfhfj";
Clob ntfcn="CreateTable.java";
String rqst="ghfhgfh";
Clob tps="CreateTable.java";
String cty="jjkhgjghjk";
String tg="qwewr";
InsTable(uname,photo1,video1,music1,notes1,messages1,link,frd,cmt,lik,ulik,shrs,qst,answ,updt,thms,wrd,langs,rlgn,prvc,hbs,fvt,qlf,comm,grp,pgs,ntfcn,rqst,tps,cty,tg);
}
}
приведенный выше код выдает следующие ошибки
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:45: error: no suitable constructor found for File(Clob)
File fl5=new File(notes1);
^
constructor File.File(URI) is not applicable
(actual argument Clob cannot be converted to URI by method invocation conversion)
constructor File.File(File,String) is not applicable
(actual and formal argument lists differ in length)
constructor File.File(String,String) is not applicable
(actual and formal argument lists differ in length)
constructor File.File(String) is not applicable
(actual argument Clob cannot be converted to String by method invocation conversion)
constructor File.File(String,File) is not applicable
(actual and formal argument lists differ in length)
constructor File.File(String,int) is not applicable
(actual and formal argument lists differ in length)
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:47: error: no suitable method found for setCharacterStream(int,int)
ps.setCharacterStream(5,(int)fl5.length());
^
method PreparedStatement.setCharacterStream(int,Reader) is not applicable
(actual argument int cannot be converted to Reader by method invocation conversion)
method PreparedStatement.setCharacterStream(int,Reader,long) is not applicable
(actual and formal argument lists differ in length)
method PreparedStatement.setCharacterStream(int,Reader,int) is not applicable
(actual and formal argument lists differ in length)
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:51: error: no suitable method found for setCharacterStream(int,int)
ps.setCharacterStream(6,(int)fl6.length());
^
method PreparedStatement.setCharacterStream(int,Reader) is not applicable
(actual argument int cannot be converted to Reader by method invocation conversion)
method PreparedStatement.setCharacterStream(int,Reader,long) is not applicable
(actual and formal argument lists differ in length)
method PreparedStatement.setCharacterStream(int,Reader,int) is not applicable
(actual and formal argument lists differ in length)
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:59: error: no suitable method found for setCharacterStream(int,int)
ps.setCharacterStream(9,(int)fl7.length());
^
method PreparedStatement.setCharacterStream(int,Reader) is not applicable
(actual argument int cannot be converted to Reader by method invocation conversion)
method PreparedStatement.setCharacterStream(int,Reader,long) is not applicable
(actual and formal argument lists differ in length)
method PreparedStatement.setCharacterStream(int,Reader,int) is not applicable
(actual and formal argument lists differ in length)
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:67: error: no suitable method found for setCharacterStream(int,int)
ps.setCharacterStream(13,(int)fl8.length());
^
method PreparedStatement.setCharacterStream(int,Reader) is not applicable
(actual argument int cannot be converted to Reader by method invocation conversion)
method PreparedStatement.setCharacterStream(int,Reader,long) is not applicable
(actual and formal argument lists differ in length)
method PreparedStatement.setCharacterStream(int,Reader,int) is not applicable
(actual and formal argument lists differ in length)
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:71: error: no suitable method found for setCharacterStream(int,int)
ps.setCharacterStream(14,(int)fl9.length());
^
method PreparedStatement.setCharacterStream(int,Reader) is not applicable
(actual argument int cannot be converted to Reader by method invocation conversion)
method PreparedStatement.setCharacterStream(int,Reader,long) is not applicable
(actual and formal argument lists differ in length)
method PreparedStatement.setCharacterStream(int,Reader,int) is not applicable
(actual and formal argument lists differ in length)
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:77: error: no suitable method found for setCharacterStream(int,int)
ps.setCharacterStream(17,(int)fl0.length());
^
method PreparedStatement.setCharacterStream(int,Reader) is not applicable
(actual argument int cannot be converted to Reader by method invocation conversion)
method PreparedStatement.setCharacterStream(int,Reader,long) is not applicable
(actual and formal argument lists differ in length)
method PreparedStatement.setCharacterStream(int,Reader,int) is not applicable
(actual and formal argument lists differ in length)
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:98: error: variable fr is already defined in method InsTable(String,Blob,Blob,Blob,Clob,Clob,String,String,Clob,String,String,Blob,Clob,Clob,Blob,String,Clob,String,String,String,String,String,String,String,String,String,Clob,String,Clob,String,String)
FileReader fr=new FileReader(fls);
^
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:99: error: no suitable method found for setCharacterStream(int,int)
ps.setCharacterStream(27,(int)fls.length());
^
method PreparedStatement.setCharacterStream(int,Reader) is not applicable
(actual argument int cannot be converted to Reader by method invocation conversion)
method PreparedStatement.setCharacterStream(int,Reader,long) is not applicable
(actual and formal argument lists differ in length)
method PreparedStatement.setCharacterStream(int,Reader,int) is not applicable
(actual and formal argument lists differ in length)
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:105: error: no suitable method found for setCharacterStream(int,int)
ps.setCharacterStream(29,(int)fls1.length());
^
method PreparedStatement.setCharacterStream(int,Reader) is not applicable
(actual argument int cannot be converted to Reader by method invocation conversion)
method PreparedStatement.setCharacterStream(int,Reader,long) is not applicable
(actual and formal argument lists differ in length)
method PreparedStatement.setCharacterStream(int,Reader,int) is not applicable
(actual and formal argument lists differ in length)
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:111: error: cannot find symbol
int i=executeUpdate();
^
symbol: method executeUpdate()
location: class InsertusrProf
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:120: error: cannot find symbol
Blob photo1=img1.jpeg;
^
symbol: variable img1
location: class InsertusrProf
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:121: error: incompatible types
Blob video1="Wildlife.wma";
^
required: Blob
found: String
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:122: error: incompatible types
Blob music1="Lelepadi.mp3";
^
required: Blob
found: String
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:123: error: incompatible types
Clob notes1="CreateTable.java";
^
required: Clob
found: String
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:124: error: incompatible types
Clob messages1="CreateTable.java";
^
required: Clob
found: String
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:127: error: incompatible types
Clob cmt="CreateTable.java";
^
required: Clob
found: String
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:130: error: incompatible types
Blob shrs="img1.jpeg";
^
required: Blob
found: String
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:131: error: incompatible types
Clob qst="CreateTable.java";
^
required: Clob
found: String
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:132: error: incompatible types
Clob answ="CreateTable.java";
^
required: Clob
found: String
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:133: error: incompatible types
Blob updt="img1.jpeg";
^
required: Blob
found: String
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:135: error: incompatible types
Clob wrd="CreateTable.java";
^
required: Clob
found: String
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:145: error: incompatible types
Clob ntfcn="CreateTable.java";
^
required: Clob
found: String
C:\Users\James P J\Documents\javaprog\skypark\InsertusrProf.java:147: error: incompatible types
Clob tps="CreateTable.java";
^
required: Clob
found: String
24 errors
Tool completed with exit code 1
Мне нужно вставить информацию, используя параметры в методе InsTable
Я пробовал с параметрами без кавычек, например
File fl=new File(photo1);
FileInputStream fis=new FileInputStream(fl);
ps.setBinaryStream(2,fis,(int)fl.length());
но это было беспомощно
Я искал решение этой проблемы в Интернете и нашел код аналогичного типа, представленный на веб-сайте:
http://www.java2s.com/Tutorial/Java/0340__Database/BlobandClobdatatype.htm
Если кто-нибудь знает, как решить эту проблему. Тогда, пожалуйста, помогите мне.
Заранее спасибо....