java.sql.SQLSyntaxErrorException:表/视图’x’不存在
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java.sql.SQLSyntaxErrorException:表/视图’x’不存在,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2512字,纯文字阅读大概需要4分钟。
内容图文
我正在尝试在带有GlassFish 4.1的NetBeans 8.0.2 IDE中运行一个名为AddressBook(带有Facelets的JSF)的Web应用程序,该应用程序通过托管bean中的以下代码访问关系数据库:
@Resource( name="jdbc/addressbook" )
DataSource dataSource;
运行应用程序时,在浏览器中出现以下错误:
java.sql.SQLSyntaxErrorException: Table/View 'ADDRESSES' does not exist
at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
at com.sun.gjc.spi.base.ConnectionHolder.prepareStatement(ConnectionHolder.java:586)
at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareCachedStatement(ConnectionWrapper40.java:255)
at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareCachedStatement(ConnectionWrapper40.java:52)
at com.sun.gjc.spi.ManagedConnectionImpl.prepareCachedStatement(ManagedConnectionImpl.java:992)
at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareStatement(ConnectionWrapper40.java:173)
at addressbook.AddressBean.getAddresses(AddressBean.java:157)
AddressBean.java第157行是:
PreparedStatement getAddresses = connection.prepareStatement(
"SELECT FIRSTNAME, LASTNAME, STREET, CITY, STATE, ZIP " +
"FROM ADDRESSES ORDER BY LASTNAME, FIRSTNAME" );
包含ADDRESSES表的地址簿数据库是通过以下步骤创建的:
>创建连接池
>右键单击GlassFish服务器,然后选择“查看域管理控制台”
>在GlassFish网页的“常见任务”左栏中,单击
> JDBC连接池
>单击新建按钮,并添加以下条目:
> AddressBookPool作为名称
> javax.sql.DataSource作为资源类型
>用于数据库供应商的JavaDB
>单击下一步,然后滚动到其他属性,然后进行以下设置
字段:
>属性:; create = true
> DatabaseName:地址簿
>密码:APP
>单击完成
>创建数据源名称
>在GlassFish网页的“常见任务”左栏中,单击
JDBC资源
>单击新建按钮,然后将JDBC /地址簿指定为JNDI名称
>选择AddressBookPool作为池名称
当我返回到NetBeans Services选项卡时,已经在Java DB下创建了通讯录.
我成功连接到数据库:jdbc:derby:// localhost:1527 / addressbook [APP上的APP],并将APP设置为默认架构
我在NetBeans中打开一个文件:addressbook.sql,其中包含用于填充地址簿的SQL.我在上面的连接上运行它,并且创建了ADDRESSES表,并且能够查看数据.
AddressBook属性将Java DB驱动程序作为库.
解决方法:
确保您的web.xml文件(位于“配置文件”文件夹中)具有资源引用.例:
<resource-ref>
<res-ref-name>jdbc/db1</res-ref-name>
<res-type>javax.sql.ConnectionPoolDataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
其中db1是您的jdbc资源名称.还要确保该值具有正确的资源类型,在示例中为连接池数据源.
内容总结
以上是互联网集市为您收集整理的java.sql.SQLSyntaxErrorException:表/视图’x’不存在全部内容,希望文章能够帮你解决java.sql.SQLSyntaxErrorException:表/视图’x’不存在所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。