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 语法中,您会在SELECT
和 FROM
关键字之间找到一个以逗号分隔的列名列表。在我给出的示例中,table_catalog
和 table_scehma
都是我在 Google 快速搜索时出现的两个列名。我没有运行 SQL Server 实例来测试查询,但您可以自己运行它,看看会发生什么。只需在WHERE
子句中输入您要查找的名称即可。我不明白你上一条评论的第二部分。以上是关于jdbc 异常的主要内容,如果未能解决你的问题,请参考以下文章