Tag: jdbc

获取exceptionORA-00942:表或视图不存在 – 插入现有表时

在尝试将一批行插入现有表时,我遇到exception ORA-00942:表或视图不存在 我可以确认该表存在于db中,我可以使用oracle sql developer将数据插入该表。 但是当我尝试在java中使用preparedstatement插入行时,其抛出表不存在错误。 请在下面找到错误的堆栈跟踪 java.sql.SQLException: ORA-00942: table or view does not exist at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573) at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1889) at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093) at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047) at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout>>(OracleStatement.java:2709) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589) at quotecopy.DbConnection.insertIntoDestinationDb(DbConnection.java:591) at quotecopy.QuoteCopier.main(QuoteCopier.java:72) 任何人都可以提出这个错误的原因吗? 更新:问题已解决 我的数据库连接属性或我的表或视图名称没有问题。 问题的解决方案非常奇怪。 我尝试插入的其中一列是Clob类型。 因为我之前在oracle db中处理clob数据时遇到了很多麻烦,尝试用一个临时字符串setter替换clob setter并执行相同的代码,没有任何问题,所有行都被正确插入!!! 即。 peparedstatement.setClob(columnIndex,clob) 被替换为 peparedstatement.setString(columnIndex,“String”) 为什么错误表或视图确实存在错误导致插入clob数据时出错。 你能解释一下吗? 非常感谢您的回答和评论。

驱动程序JDBC PostgreSQL与Android

我正在尝试使用JDBC驱动程序将我的Android应用程序连接到服务器(PostgreSQL),但是我有这个错误: java.lang.ClassNotFoundException: org.postgresql.Driver … Caused by: java.lang.NoClassDefFoundError: org/postgresql/Driver … 12 more Caused by: java.lang.ClassNotFoundException: org.postgresql.Driver … java.sql.SQLException: No suitable driver 我尝试了很多东西,比如在路径中添加驱动程序的地址,但没有任何效果。 我按照本教程: http ://appliedcoffeetechnology.tumblr.com/post/10657124340并在Build Path中添加了驱动程序JDBC4(我也尝试过JDBC3)。 每个人都可以帮助我吗?

com.microsoft.sqlserver.jdbc.SQLServerException:与主机localhost,端口1433的TCP / IP连接失败

我继续得到这个错误。 我尝试了stackoverflow(下面)中的一个解决方案,它对我不起作用 – 连接到SQL服务器时出现SQLexception 我尝试通过使用链接来允许Windows防火墙中的端口1433,这也不起作用。 请参阅“在Windows防火墙中打开TCP访问端口”一节http://msdn.microsoft.com/en-us/library/ms175043.aspx com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: “Connection refused: connect. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are […]

用户拒绝Java JDBC访问

我正在尝试从我的java应用程序连接MySQL,它继续说: java.sql.SQLException:用户’vincent’@’xxxx’拒绝访问(使用密码:YES) 我已经检查过phpmyadmin,vincent可以从任何主机进行连接,而且我还有一个python脚本,可以使用相同的用户名/密码连接而没有任何问题 问题是什么 ? 非常感谢你 问候。

运行时错误:java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

我是mysql和jdbc的新手,我收到了这个标题中的错误。 我一整天都在搜索,找不到适合我的解决方案。 我试过的:卸载/重新安装mysql,将mysql-connector-java-5.1.25-bin.jar和ojdbc7.jar粘贴到我试图运行的.class文件的相同位置,在不同的目录中重建程序,可能还有其他几件事。 我使用notepad ++进行编码,并使用windows命令提示符进行编译和运行。 它编译得很好,但我尝试运行 C:\ Projects \ bin> java -cp。 ClientBase 输出是: java.lang.ClassnNotFoundException:com.mysql.jdbc.Driver 在java.net.URLClassloader $ 1.run(URLClassLoader.java:336) 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) 在java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:432) 在sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:188) 在ClientBase.main(ClientBase.java:21) 再见。 // import packages import java.sql.*; // create class ClientBase public class ClientBase{ // JDBC driver name […]

JDBC ODBC驱动程序连接

我正在为我的大学的一个class级做一个项目。 我正在学习连接和操作数据库,我们正在使用Microsoft .accdb文件。 这是我到目前为止所拥有的。 /* Perform database operations */ try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); System.out.println(“Driver loaded”); connection = DriverManager.getConnection(“jdbc:odbc:Lab3.accdb”); System.out.println(“Database connected”); statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(“”); while (resultSet.next()) { output.write(“” + resultSet.getString(1) + “\t” + resultSet.getString(2) + “\t” + resultSet.getString(3) + “”); } connection.close(); } catch (ClassNotFoundException|SQLException e) { System.out.println(“Database Access Error.”); e.printStackTrace(); } 在寻找“sun.jdbc.odbc.JdbcOdbcDriver”时,我得到以下输出。 […]

JDBC MySQL UTF-8字符串写入问题

连接到db: public DBSource(ConnectionInfo ci) throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException { Class.forName(“com.mysql.jdbc.Driver”).newInstance(); String dbPath = String.format( “jdbc:mysql://%s:%d/%s?user=%s&password=%s&characterEncoding=utf-8&” + “useUnicode=true”, ci.host, ci.port, ci.dbName, ci.user, ci.password); conn = java.sql.DriverManager.getConnection(dbPath); prepareTables(); } 表创建代码: private void prepareTables() throws SQLException { java.sql.Statement stat = conn.createStatement(); String query = “set names utf8”; stat.execute(query); query = “set character set utf8”; stat.execute(query); query = […]

我在哪里为Tomcat的连接池放置JDBC驱动程序?

所以我已经弄清楚了我的错误,现在我只是在寻找一些关于究竟发生了什么的见解。 我正在使用Apache Tomcat版本7.0.32。 我正在使用本教程为JDBC设置池。 在我的META-INF文件夹中,我创建了一个context.xml文件并将其放在那里。 我写这篇文章时遇到了这个错误 WARNING: Unexpected exception resolving reference java.sql.SQLException: com.mysql.jdbc.Driver at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:254) at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182) at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:699) at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:631) at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:485) at org.apache.tomcat.jdbc.pool.ConnectionPool.(ConnectionPool.java:143) at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:116) at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:103) at org.apache.tomcat.jdbc.pool.DataSourceFactory.createDataSource(DataSourceFactory.java:539) at org.apache.tomcat.jdbc.pool.DataSourceFactory.getObjectInstance(DataSourceFactory.java:237) at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:143) at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304) at org.apache.naming.NamingContext.lookup(NamingContext.java:843) at org.apache.naming.NamingContext.lookup(NamingContext.java:154) at org.apache.naming.NamingContext.lookup(NamingContext.java:831) at org.apache.naming.NamingContext.lookup(NamingContext.java:168) at org.apache.catalina.core.NamingContextListener.addResource(NamingContextListener.java:1061) at org.apache.catalina.core.NamingContextListener.createNamingContext(NamingContextListener.java:671) at org.apache.catalina.core.NamingContextListener.lifecycleEvent(NamingContextListener.java:270) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) […]

如何在java中调用包含用户定义类型的oracle存储过程?

在Oracle DB中: 我有以下存储过程: procedure getInfo ( p_ids IN IDS_TABLE, p_details OUT cursor ) IDS_TABLE类型是: create or replace type IDS_TABLE as table of IDS create or replace type IDS as object ( id1 NUMBER, id2 NUMBER, id3 NUMBER ) 如何在Java中调用getInfo?

如何配置Tomcat以连接MySQL

有人可以提供一些关于如何配置Tomcat来访问MySQL的细节吗? 我在Tomcat中的哪个目录下放置mysql-connector-java-5.1.13-bin ? 我应该将它放在Tomcat 6.0\webapps\myapp\WEB-INF\lib吗? 我是否需要将配置添加到context.xml或server.xml ? 我应该创建一个web.xml文件并将其放在Tomcat 6.0\webapps\myapp\WEB-INF吗? 如果是这样,那么这个文件的内容应该是什么样的?