与 sql server 2014 的无效对象名称 jdbc 连接

Posted

技术标签:

【中文标题】与 sql server 2014 的无效对象名称 jdbc 连接【英文标题】:Invalid Object Name jdbc connection with sql server 2014 【发布时间】:2016-05-25 20:00:44 【问题描述】:

我从 2 天开始一​​直在寻找解决方案并尝试了所有方法,但我仍然无法解决我面临的问题。 问题:无效的对象名称“信息”

package test;
import java.sql.*;
public class DataConn 
public static void main(String arg[])
    try
        //Load JDBC driver
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

        //Establish connection
        String url = "jdbc:sqlserver://localhost\\SQL2014:1433;databaseName=Test;integratedSecurity=true";
        Connection con = DriverManager.getConnection(url);
        System.out.println("Connection success");

        //fetch data from Info
        Statement st = con.createStatement();
        String sql = "SELECT * FROM Info";
        ResultSet rs = st.executeQuery(sql);

        //extract
        while(rs.next())
            String Name = rs.getString("Name");
            String Class = rs.getString("Class");
            int age = rs.getInt("Age");

            System.out.println("Name: "+Name +"\t"+"Class: "+Class+"\t"+"Age: "+age);
        
        rs.close();
        con.close();
    
    catch(Exception e)
        System.err.println("Got an Exception!");
        System.out.println(e.getMessage());
    


输出:

Connection success
Invalid object name 'Info'.
Got an Exception!

我正在使用 Eclipse 和 Sql server 2014,我尝试了大部分的东西,比如: 1. [数据库名称].[dbo].[信息] 2.Test.dbo.Info

但我最终得到了同样的错误:无效的对象名称

这是 SqlServer 2014 的截图:

【问题讨论】:

从错误消息中可以看出,“Info”不是数据库中某个表的名称。仔细检查表名的大小写。 【参考方案1】:

这里的对象信息是您要查询的表。请务必检查以下内容 1.确保表存在于模式“TEST”上,当然也确保模式存在。该表可能位于默认架构上。 2.确保用户对该表具有权限 3.确保结果集列与表方案匹配

由于数据库连接成功,我只怀疑架构上不存在该表。您可以尝试使用默认架构。

【讨论】:

我检查了我知道的截图。 Scheme 是“dbo”,表名是“Info”,数据库名是“Test”。【参考方案2】:

连接成功表明您没有任何名为“Info”的模式。检查 sql 数据库中的表名。

【讨论】:

请看截图,或许你就知道问题所在了。 可以添加jdbc访问表的权限吗?你可以参考msdn.microsoft.com/en-us/library/ms187797.aspx

以上是关于与 sql server 2014 的无效对象名称 jdbc 连接的主要内容,如果未能解决你的问题,请参考以下文章

使用临时表时 SQL Server 显示“无效的对象名称 '#temp'”

SQL Server 触发器:在区分大小写的数据库中“插入”的对象名称无效

SQL Server 上表包含点时生成错误的 FROM 子句导致 Sqoop 无效对象名称错误

SqlException:在 C# (VISUAL STUDIO) 和 sql server 中构建网站时出现无效的对象名称错误

无效的对象名称 sql

SQL Server 2014 快速设置