Java连接到数据库

时间:2014-02-15 19:44:22

标签: java sql

我已经用尽所有途径解决这个问题,但无济于事。我已经安装了“SQL Management Studio 2012”并创建了一个虚拟数据库和方法,但我仍然得到一个“空点异常指针”。 Java和JDBC在用户变量下设置。

以下是截图和代码。

Static {
        // standard code to open a connection and statement to SQL Server database
        try {
            // Create a variable for the connection string.
            String connectionUrl = "jdbc:sqlserver://SQL-SERVER;"
                    + "databaseName=ItunesDB;integratedSecurity=true;";

            // Establish the connection.
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            con = DriverManager.getConnection(connectionUrl);

        } // Handle any errors that may have occurred.
        catch (SQLException sqle) {
            System.out.println("Sql Exception :" + sqle.getMessage());
        } catch (ClassNotFoundException e) {
            System.out.println("Class Not Found Exception :" + e.getMessage());
        }
    }

    public static String listAll() {
        String output = "";
        try {
            stmt = con.createStatement();
            ResultSet res = stmt.executeQuery("SELECT * FROM LibraryTable");
            while (res.next()) { // there is a result
                // the name field is the thrid one in the ResultSet
                // Note that with  ResultSet we count the fields starting from 1
                output += res.getString(1) + " " + res.getString(2) + " - "
                        + res.getString(3) + " " + res.getString(4) + " "
                        + res.getString(5) + "\n";
            }
        } catch (Exception e) {
            System.out.println(e);
            return null;
        }
        return output;
    }


public static String getName(String key) {
        try {

             SELECT * FROM LibraryTable WHERE key = '04'      
            stmt = con.createStatement();
            ResultSet res = stmt.executeQuery("SELECT * FROM LibraryTable WHERE ID = '" + key + "'");
            if (res.next()) { // there is a result
                // the name field is the second one in the ResultSet
                // Note that with  ResultSet we count the fields starting from 1
                return res.getString(2);
            } else {
                return null;
            }
        } catch (Exception e) {
            System.out.println(e);
            return null;
        }`enter code here`

数据库信息:

Dummy Database
ID Name Artist Quantity Price Rating Playcount

我需要做些什么来解决这个问题?

1 个答案:

答案 0 :(得分:0)

以混合模式重新安装sql server。然后转到SQL Server配置管理器并检查是否启用了TCP / Ip。如果不启用它并重新启动服务。然后在项目中添加sqljdbc jar。然后试试这段代码

Connection con = null;
  try {

     Class.forName(
    "com.microsoft.sqlserver.jdbc.SQLServerDriver");
     con = DriverManager.getConnection(
      "jdbc:sqlserver://localhost:1433;"
    + "user=sa;password=HerongYang;"
    + "database=AdventureWorksLT");
  }

用户始终是sa,因为它是系统管理员