2017-11-17 3 views
-5

내가 때문에 내가 사용하여 SQL 단절을 연결할 수 없습니다 나는 위의 오류에
내 URLJDBC 연결 URL 문제

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 



public class JdbcSQLServerConnection { 

    public static void main(String[] args) throws ClassNotFoundException, SQLException { 

    String url="jdbc:sqlserver://"TKSQA";databaseName="RDK";integratedSecurity=true"; 


    String query="use RDK 
    go 
    /* * the current date must be less than 45 days after the policy effective date and the transaction must have 
      * a status of IssuedRenewal */ 
    select top 5 left(prsnAddr.PostalZip, 5) as ZipCode, policy.policynum,terms.termeffective 
    from PolicyRecord pr left join Policy policy on pr.PolicySK = policy.PolicySK 
    join PolicyTerms terms on pr.PolicyTermSK = terms.PolicyTermSK and getDate() < (terms.termeffective + 45) 
    join PolicyTxn txn on pr.PolicyTxnSK = txn.PolicyTxnSK and TxnBusStatus = 'ISSUEDRENEWAL' and txn.TxnSequence = (
      select max(ptx2.TxnSequence) 
      from PolicyTxn ptx2 
      inner join PolicyTermTxn pttx2 on pttx2.PolicyTxnsk = ptx2.PolicyTxnSK 
      where pttx2.PolicyTermSK = terms.PolicyTermSK and ptx2.TxnStatus <> 'INACTIVE') 
    join Insured ins on ins.PolicyRecordSK= pr.PolicyRecordSK 
    join Person pers on pers.PersonSK = ins.PersonSK 
    join PersonAddress prsnAddr on prsnAddr.PersonSK = pers.PersonSK 
      where policy.insuranceproductid like '%CollectorVehicle%' and RecordType='ONSET' 
      order by terms.TermEffective 
    "; 


    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
    Connection con = DriverManager.getConnection(url); 
    Statement st = con.createStatement(); 
    ResultSet rs = st.executeQuery(query); 

    rs.next(); 
    String zip= rs.getString("ZipCode"); 
    System.out.print(zip); 
    st.close(); 
    con.close(); 


     } 

    } 

"이 토큰을 삭제, 토큰에 구문 오류"와 같은 URL을 연결 아래에 오류가 발생하고 java.Is이

+2

MySQL과 SQLSERVER는 다르다. – Ravi

+1

"* mysql sever *에 연결할 수 없습니다."- 물론 그렇습니다. 해당 URL은 MySQL 용 ** SQL Server ** 용입니다. 올바른 URL 형식은 설명서에 설명되어 있습니다. https://dev.mysql.com/doc/connector-j/5.1/en/ –

+0

질문을 다시 읽으려면 질문을 다시 읽으십시오. – heardm

답변

-1

연결 URL의 일반적인 형태는 (MS SQL Server 용)입니다

jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]] 

exampl 문자열 URL을 작성하는 올바른 방법 전자, 연결 URL의

jdbc:sqlserver://localhost;user=MyUserName;password=*****; 

일반적인 형태는 다음

jdbc:mysql://hostname/ databaseName 

, 호스트 이름,

예 (그 필수) PORTNUMBER를 포함해야합니다 (MySQL 서버에 대한)입니다

//STEP 1. Import required packages 
import java.sql.*; 

public class JDBCExample { 
    // JDBC driver name and database URL 
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; 
    static final String DB_URL = "jdbc:mysql://localhost:3306/STUDENTS"; 

    // Database credentials 
    static final String USER = "username"; 
    static final String PASS = "password"; 

    public static void main(String[] args) { 
    Connection conn = null; 
    Statement stmt = null; 
    try{ 
     //STEP 2: Register JDBC driver 
     Class.forName("com.mysql.jdbc.Driver"); 

     //STEP 3: Open a connection 
     System.out.println("Connecting to a selected database..."); 
     conn = DriverManager.getConnection(DB_URL, USER, PASS); 
     System.out.println("Connected database successfully..."); 

     //STEP 4: Execute a query 

    }catch(SQLException se){ 
     //Handle errors for JDBC 
     se.printStackTrace(); 
    }finally{ 
    conn.close(); 
    }//end finally 
    System.out.println("Goodbye!"); 
} 
} 

참고 문헌,

https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url

https://www.tutorialspoint.com/jdbc/index.htm

+1

MySQL 포트 번호는 필수는 아니며 어쨌든 중요하지 않습니다. – EJP

+0

그래, 한번도 시도한 적이 없다 w/o 포트 번호, 고마워. 나는 그것을 시도 할 것이다. –