【问题标题】:Invalid Object Name jdbc connection with sql server 2014与 sql server 2014 的无效对象名称 jdbc 连接
【发布时间】: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”不是数据库中某个表的名称。仔细检查表名的大小写。

标签: java sql-server eclipse jdbc invalid-object-name


【解决方案1】:

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

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

【讨论】:

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

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

【讨论】:

猜你喜欢
  • 2015-07-31
  • 1970-01-01
  • 2018-04-22
  • 2018-08-08
  • 1970-01-01
  • 2023-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多