向表中插入数据提示表或视图不存在

时间:2022-12-31 07:25:53
请教:
     我从一个表查出数据向另外一张表中存储,插入到第172行是报异常提示,表和视图不存在,请各位给予帮助。
     
     异常如下:
          java.sql.SQLException: ORA-00942: 表或视图不存在

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:955)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3316)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3422)
at nc.imp.hr.data.HrUploadTotalPsnInfoMsg.UploadAccountMsg(HrUploadTotalPsnInfoMsg.java:368)

11 个解决方案

#1


你的语句怎么写的?

#2


那就是表或视图不存在呗。
代码呢?

#3


这是:insert into hrtozsj_basdoc values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?)"
我利用的是java代码向里面插入的数据

#4


pstetS = connS.prepareStatement(psnbas_selesqlS); rsS = pstetS.executeQuery();
while (rsS.next()) {
String ADDR = rsS.getString("ADDR");
int APPROVEFLAG = rsS.getInt("APPROVEFLAG");
String BIRTHDATE = rsS.getString("BIRTHDATE");
String BLOODTYPE = rsS.getString("BLOODTYPE");
String BP = rsS.getString("BP");
String CHARACTERRPR = rsS.getString("CHARACTERRPR");
String CITY = rsS.getString("CITY");
String COMPUTERLEVEL = rsS.getString("COMPUTERLEVEL");
String COUNTRY = rsS.getString("COUNTRY");
String DATAOPERATOR = rsS.getString("DATAOPERATOR");
int DR = rsS.getInt("DR");
String EMAIL = rsS.getString("EMAIL");
String EMPLOYFORM = rsS.getString("EMPLOYFORM");
String FILEADDRESS = rsS.getString("FILEADDRESS");
String FROEIGNLANG = rsS.getString("FROEIGNLANG");
String FROLANLEVEL = rsS.getString("FROLANLEVEL");
String FUNCTIONTYPE = rsS.getString("FUNCTIONTYPE");
String HEALTH = rsS.getString("HEALTH");
String HOMEPHONE = rsS.getString("HOMEPHONE");
String ID = rsS.getString("ID");
String INDOCFLAG = rsS.getString("INDOCFLAG");
String INTEREST = rsS.getString("INTEREST");
String JOINPOLITYDATE = rsS.getString("JOINPOLITYDATE");
String JOINSYSDATE = rsS.getString("JOINSYSDATE");
String JOINWORKDATE = rsS.getString("JOINWORKDATE");
String MARITAL = rsS.getString("MARITAL");
String MARRIAGEDATE = rsS.getString("MARRIAGEDATE");
String MOBILE = rsS.getString("MOBILE");
String NATIONALITY = rsS.getString("NATIONALITY");
String NATIVEPLACE = rsS.getString("NATIVEPLACE");
String OFFICEPHONE = rsS.getString("OFFICEPHONE");
String PENELAUTH = rsS.getString("PENELAUTH");
String PERMANRESIDE = rsS.getString("PERMANRESIDE");
Blob PHOTO = rsS.getBlob("PHOTO");
String PK_CORP = rsS.getString("PK_CORP");
String PK_PSNBASDOC = rsS.getString("PK_PSNBASDOC");
String POLITY = rsS.getString("POLITY");
String POSTALCODE = rsS.getString("POSTALCODE");
String PROVINCE = rsS.getString("PROVINCE");
String PSNNAME = rsS.getString("PSNNAME");
String SEX = rsS.getString("SEX");
String SKILLLEVEL = rsS.getString("SKILLLEVEL");
String SSNUM = rsS.getString("SSNUM");
String TITLETECHPOST = rsS.getString("TITLETECHPOST");
String TS = rsS.getString("TS");
String USEDNAME = rsS.getString("USEDNAME");
String ENTRYDATE = rsS.getString("ENTRYDATE");
// insert
pstetF = connF.prepareStatement(psnbas_totalsqlF);// 将正是表数据插入中间表
pstetF.setString(1, ADDR);
pstetF.setInt(2, APPROVEFLAG);
pstetF.setString(3, BIRTHDATE);
pstetF.setString(4, BLOODTYPE);
pstetF.setString(5, BP);
pstetF.setString(6, CHARACTERRPR);
pstetF.setString(7, CITY);
pstetF.setString(8, COMPUTERLEVEL);
pstetF.setString(9, COUNTRY);
pstetF.setString(10, DATAOPERATOR);
pstetF.setInt(11, DR);
pstetF.setString(12, EMAIL);
pstetF.setString(13, EMPLOYFORM);
pstetF.setString(14, FILEADDRESS);
pstetF.setString(15, FROEIGNLANG);
pstetF.setString(16, FROLANLEVEL);
pstetF.setString(17, FUNCTIONTYPE);
pstetF.setString(18, HEALTH);
pstetF.setString(19, HOMEPHONE);
pstetF.setString(20, ID);
pstetF.setString(21, INDOCFLAG);
pstetF.setString(22, INTEREST);
pstetF.setString(23, "2001-01-01");//JOINPOLITYDATE
pstetF.setString(24, JOINSYSDATE);
pstetF.setString(25, JOINWORKDATE);
pstetF.setString(26, MARITAL);
pstetF.setString(27, MARRIAGEDATE);
pstetF.setString(28, MOBILE);
pstetF.setString(29, NATIONALITY);
pstetF.setString(30, NATIVEPLACE);
pstetF.setString(31, OFFICEPHONE);
pstetF.setString(32, PENELAUTH);
pstetF.setString(33, PERMANRESIDE);
pstetF.setBlob(34, PHOTO);
pstetF.setString(35, PK_CORP);
pstetF.setString(36, PK_PSNBASDOC);
pstetF.setString(37, "111123");//POLITY
pstetF.setString(38, POSTALCODE);
pstetF.setString(39, PROVINCE);
pstetF.setString(40, PSNNAME);
pstetF.setString(41, SEX);
pstetF.setString(42, SKILLLEVEL);
pstetF.setString(43, SSNUM);
pstetF.setString(44, TITLETECHPOST);
pstetF.setString(45, TS);
pstetF.setString(46, USEDNAME);
pstetF.setString(47, ENTRYDATE);
flagp = pstetF.execute();

if (flagp) {
throw new BusinessException("基本档案插入并更新失败。。", "提示");
}

}

#5


ORA-00942 table or view does not exist

Cause: The table or view entered does not exist, a synonym that is not allowed here was used, or a view was referenced where a table is required. Existing user tables and views can be listed by querying the data dictionary. Certain privileges may be required to access the table. If an application returned this message, the table the application tried to access does not exist in the database, or the application does not have access to it.

Action: Check each of the following:

the spelling of the table or view name.
that a view is not specified where a table is required.
that an existing table or view name exists.
Contact the database administrator if the table needs to be created or if user or application privileges are required to access the table.

Also, if attempting to access a table or view in another schema, make certain the correct schema is referenced and that access to the object is granted.

#6


那就是当前的db用户看不到表hrtozsj_basdoc,可能有以下几个原因:
1.该表真的不存在
2.当前用户无权限查看该表
3.该表无同义词,或者没加属主,当前用户找不到该表

#7


看看你代码中的表名和数据库中的一致不

#8


问一下,你怎么知道到了172行报异常信息的?

#9


表是不是在适当的用户下的?
如果不是,同义字有没有建,权限有没有grant?

#10


那么多代码?无从看起啊??

#11


谢谢大家 ,是我的马虎造成的,一个?号后面忘记加了逗号,同样谢谢

#1


你的语句怎么写的?

#2


那就是表或视图不存在呗。
代码呢?

#3


这是:insert into hrtozsj_basdoc values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?)"
我利用的是java代码向里面插入的数据

#4


pstetS = connS.prepareStatement(psnbas_selesqlS); rsS = pstetS.executeQuery();
while (rsS.next()) {
String ADDR = rsS.getString("ADDR");
int APPROVEFLAG = rsS.getInt("APPROVEFLAG");
String BIRTHDATE = rsS.getString("BIRTHDATE");
String BLOODTYPE = rsS.getString("BLOODTYPE");
String BP = rsS.getString("BP");
String CHARACTERRPR = rsS.getString("CHARACTERRPR");
String CITY = rsS.getString("CITY");
String COMPUTERLEVEL = rsS.getString("COMPUTERLEVEL");
String COUNTRY = rsS.getString("COUNTRY");
String DATAOPERATOR = rsS.getString("DATAOPERATOR");
int DR = rsS.getInt("DR");
String EMAIL = rsS.getString("EMAIL");
String EMPLOYFORM = rsS.getString("EMPLOYFORM");
String FILEADDRESS = rsS.getString("FILEADDRESS");
String FROEIGNLANG = rsS.getString("FROEIGNLANG");
String FROLANLEVEL = rsS.getString("FROLANLEVEL");
String FUNCTIONTYPE = rsS.getString("FUNCTIONTYPE");
String HEALTH = rsS.getString("HEALTH");
String HOMEPHONE = rsS.getString("HOMEPHONE");
String ID = rsS.getString("ID");
String INDOCFLAG = rsS.getString("INDOCFLAG");
String INTEREST = rsS.getString("INTEREST");
String JOINPOLITYDATE = rsS.getString("JOINPOLITYDATE");
String JOINSYSDATE = rsS.getString("JOINSYSDATE");
String JOINWORKDATE = rsS.getString("JOINWORKDATE");
String MARITAL = rsS.getString("MARITAL");
String MARRIAGEDATE = rsS.getString("MARRIAGEDATE");
String MOBILE = rsS.getString("MOBILE");
String NATIONALITY = rsS.getString("NATIONALITY");
String NATIVEPLACE = rsS.getString("NATIVEPLACE");
String OFFICEPHONE = rsS.getString("OFFICEPHONE");
String PENELAUTH = rsS.getString("PENELAUTH");
String PERMANRESIDE = rsS.getString("PERMANRESIDE");
Blob PHOTO = rsS.getBlob("PHOTO");
String PK_CORP = rsS.getString("PK_CORP");
String PK_PSNBASDOC = rsS.getString("PK_PSNBASDOC");
String POLITY = rsS.getString("POLITY");
String POSTALCODE = rsS.getString("POSTALCODE");
String PROVINCE = rsS.getString("PROVINCE");
String PSNNAME = rsS.getString("PSNNAME");
String SEX = rsS.getString("SEX");
String SKILLLEVEL = rsS.getString("SKILLLEVEL");
String SSNUM = rsS.getString("SSNUM");
String TITLETECHPOST = rsS.getString("TITLETECHPOST");
String TS = rsS.getString("TS");
String USEDNAME = rsS.getString("USEDNAME");
String ENTRYDATE = rsS.getString("ENTRYDATE");
// insert
pstetF = connF.prepareStatement(psnbas_totalsqlF);// 将正是表数据插入中间表
pstetF.setString(1, ADDR);
pstetF.setInt(2, APPROVEFLAG);
pstetF.setString(3, BIRTHDATE);
pstetF.setString(4, BLOODTYPE);
pstetF.setString(5, BP);
pstetF.setString(6, CHARACTERRPR);
pstetF.setString(7, CITY);
pstetF.setString(8, COMPUTERLEVEL);
pstetF.setString(9, COUNTRY);
pstetF.setString(10, DATAOPERATOR);
pstetF.setInt(11, DR);
pstetF.setString(12, EMAIL);
pstetF.setString(13, EMPLOYFORM);
pstetF.setString(14, FILEADDRESS);
pstetF.setString(15, FROEIGNLANG);
pstetF.setString(16, FROLANLEVEL);
pstetF.setString(17, FUNCTIONTYPE);
pstetF.setString(18, HEALTH);
pstetF.setString(19, HOMEPHONE);
pstetF.setString(20, ID);
pstetF.setString(21, INDOCFLAG);
pstetF.setString(22, INTEREST);
pstetF.setString(23, "2001-01-01");//JOINPOLITYDATE
pstetF.setString(24, JOINSYSDATE);
pstetF.setString(25, JOINWORKDATE);
pstetF.setString(26, MARITAL);
pstetF.setString(27, MARRIAGEDATE);
pstetF.setString(28, MOBILE);
pstetF.setString(29, NATIONALITY);
pstetF.setString(30, NATIVEPLACE);
pstetF.setString(31, OFFICEPHONE);
pstetF.setString(32, PENELAUTH);
pstetF.setString(33, PERMANRESIDE);
pstetF.setBlob(34, PHOTO);
pstetF.setString(35, PK_CORP);
pstetF.setString(36, PK_PSNBASDOC);
pstetF.setString(37, "111123");//POLITY
pstetF.setString(38, POSTALCODE);
pstetF.setString(39, PROVINCE);
pstetF.setString(40, PSNNAME);
pstetF.setString(41, SEX);
pstetF.setString(42, SKILLLEVEL);
pstetF.setString(43, SSNUM);
pstetF.setString(44, TITLETECHPOST);
pstetF.setString(45, TS);
pstetF.setString(46, USEDNAME);
pstetF.setString(47, ENTRYDATE);
flagp = pstetF.execute();

if (flagp) {
throw new BusinessException("基本档案插入并更新失败。。", "提示");
}

}

#5


ORA-00942 table or view does not exist

Cause: The table or view entered does not exist, a synonym that is not allowed here was used, or a view was referenced where a table is required. Existing user tables and views can be listed by querying the data dictionary. Certain privileges may be required to access the table. If an application returned this message, the table the application tried to access does not exist in the database, or the application does not have access to it.

Action: Check each of the following:

the spelling of the table or view name.
that a view is not specified where a table is required.
that an existing table or view name exists.
Contact the database administrator if the table needs to be created or if user or application privileges are required to access the table.

Also, if attempting to access a table or view in another schema, make certain the correct schema is referenced and that access to the object is granted.

#6


那就是当前的db用户看不到表hrtozsj_basdoc,可能有以下几个原因:
1.该表真的不存在
2.当前用户无权限查看该表
3.该表无同义词,或者没加属主,当前用户找不到该表

#7


看看你代码中的表名和数据库中的一致不

#8


问一下,你怎么知道到了172行报异常信息的?

#9


表是不是在适当的用户下的?
如果不是,同义字有没有建,权限有没有grant?

#10


那么多代码?无从看起啊??

#11


谢谢大家 ,是我的马虎造成的,一个?号后面忘记加了逗号,同样谢谢