jdbc 异常

Posted

技术标签:

【中文标题】jdbc 异常【英文标题】:exception with jdbc 【发布时间】:2011-04-19 20:48:32 【问题描述】:

我是 jdbc 的初学者,我在 sql server 中有一个数据库,当我运行它时我连接到一个 java 应用程序代码,我对此进行了修改:

运行: SQL 连接成功。 JDBC 驱动程序错误:对象名称“dbo.categories”无效。

categories 是我的 sql server 数据库中的一个实体 我真的不能自己解决,一切似乎都是对的!!!

【问题讨论】:

【参考方案1】:

发布您的连接网址。我认为这意味着您的数据库名称不正确。

我认为 URL 应该看起来更像这样:

jdbc:sqlserver://host:port;databaseName=foo

去掉dbo.,只使用categories作为名称。

【讨论】:

我想知道数据库中的表是否可能有问题,因为所有表的错误都相同 我写sql字符串时出错,这里是正确的:ResultSet rset = stmt.executeQuery("select * from DB_Name.dbo.tbale_Name");但我是新用户无法为我的问题设置任何答案,只是我写在这里【参考方案2】:

这有很多可能的原因。这些可能包括:

    对象不属于 dbo 该对象确实属于 dbo,但您登录的用户无权查看它 您连接到错误的数据库

在 SQL Server 中查找表的所有者是这样的:

SELECT table_catalog, table_schema
FROM INFORMATION_SCHEMA.TABLES
WHERE table_name = 'TABLE'

【讨论】:

我删除了 dbo 但没有解决!我的网址是:“jdbc:sqlserver://localhost:1433;” +“数据库名称=DB_Library;用户='sa';密码= *****”; db 名称是正确的我怎么知道该对象不属于 dbo? 没有人回答我的问题,我真的需要它:(请帮忙 才4个小时。如果它是那么可怕,谷歌搜索会快很多。 亲爱的艾萨克·特鲁特!你是什​​么意思:FROM之前的table_schema我怎么能在表目录列表中写dbo? @Aida 在基本的 SQL 语法中,您会在 SELECTFROM 关键字之间找到一个以逗号分隔的列名列表。在我给出的示例中,table_catalogtable_scehma 都是我在 Google 快速搜索时出现的两个列名。我没有运行 SQL Server 实例来测试查询,但您可以自己运行它,看看会发生什么。只需在WHERE 子句中输入您要查找的名称即可。我不明白你上一条评论的第二部分。

以上是关于jdbc 异常的主要内容,如果未能解决你的问题,请参考以下文章

Unit06: Spring对JDBC的 整合支持 Spring+JDBC TemplateSpring异常处理

JDBC的异常

简单JDBC连接数据库 异常!!100分!

用jdbc远程连接mysql,报异常

为啥这个 JDBC 语句会导致异常?

Spring JDBC的优雅设计 - 异常封装(上)