本文介绍了如何修复连接字符串包含格式错误的名称或值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

代码示例:

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement;  
import org.testng.annotations.AfterTest; 
import org.testng.annotations.BeforeTest; 
import org.testng.annotations.Test;   

public class SQLserverConnection  
{   
    // Connection object
    static Connection con = null;
    // Statement object
    private static Statement stmt;
    // Constant for Database URL
    public static String DB_URL = "jdbc:sqlserver://localhost:1433";        

    // Constant for Database Username
    public static String DB_USER = "sa";      
    // Constant for Database Password
    public static String DB_PASSWORD = "VMADMIN#123";

    @BeforeTest
    public void setUp() throws Exception 
    {
        try{
            // Make the database connection
            String dbClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver";                   Class.forName(dbClass).newInstance();                   

            // Get connection to DB
            Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;sa;VMADMIN#123;");                   

            // Statement object to send the SQL statement to the Database
            stmt = con.createStatement();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

    @Test
    public void test() {
        try{
            String query = "select * from userinfo";            

            // Get the contents of userinfo table from DB
            ResultSet res = stmt.executeQuery(query);            

            // Print the result untill all the records are printed            

            // res.next() returns true if there is any next record else returns false
            while (res.next()) {
                System.out.print(res.getString(1));
                System.out.print("\t" + res.getString(2));    
                System.out.print("\t" + res.getString(3));  
                System.out.println("\t" + res.getString(4));     
            }
        } catch(Exception e) {
           e.printStackTrace();
        }
    }

    @AfterTest
    public void tearDown() throws Exception {
        // Close DB connection
        if (con != null) {
            con.close();
        }
    }
}

然后我得到以下错误:

com.microsoft.sqlserver.jdbc.SQLServerException: The connection string contains a badly formed name or value.

请帮助我.

推荐答案

您的连接字符串看起来与文档.

Your connection string looks like it's not in line with what's specified in the documentation.

尝试从以下位置更改您的连接字符串:

Try changing your connection string from:

"jdbc:sqlserver://localhost:1433;sa;VMADMIN#123;" 

收件人:

"jdbc:sqlserver://localhost:1433;user=sa;password={VMADMIN#123};"

这篇关于如何修复连接字符串包含格式错误的名称或值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-30 07:21