2014-08-27 90 views
0

我創建了一個連接到SQL服務器數據庫的JAVA應用程序。 我使用'Microsoft JDBC Driver for SQL Server'來將我的應用程序連接到數據庫。 我在我的PC類路徑和我的Java應用程序庫中包含了'sqljdbc4.jar'文件,這個文件在完成連接後成爲其他nessa。SQL Sever和JAVA網站連接JDBC

我現在正在做類似這樣的Java應用程序的本地網站,基本一致的特點,我有一個問題是,我不能將數據庫連接到我的網站,我的Java應用程序一樣。它經常說「找不到合適的驅動程序」。我的JAVA應用程序仍然運行,但不是網站,即使在使用同一臺PC時,驅動程序仍然包含在我的PC類路徑和網站庫中。

你可以看看我的代碼,我重視。 我也嘗試使用servlet而不是jsp頁面進行連接,但它給了我同樣的問題。

可否請你指導我,什麼我做錯了,如果可能的話告訴我到我的網頁連接到我創建的SQL Server數據庫的正確方法。

PS - 我用來連接到SQL服務器轉移到使用JDBC ODBC橋我的網站,但現在不工作。

我的代碼 -

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<%@page import="java.sql.*"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> 

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>Test Page</title> 
    </head> 
    <body> 
<p> 
    <b> 
     Test Page 
    </b> 
</p> 

<% 
try 
{      
    String connectionUrl = "jdbc:sqlserver://localhost:1433;" + "databaseName=Test;user=admin;password=admin"; 
    Connection con = DriverManager.getConnection(connectionUrl); 
    PreparedStatement st=con.prepareStatement("Insert Into Test (UserName, Password) Values ('Test_UName', 'Test_password')"); 
    out.println("<BR><TD>Inserted Successful</TD>"); 
} 
catch(Exception e) 
{      
    out.println("<TD>Insert not Successful</TD>");   
    out.println("<BR><TD>" + e + "</TD>"); 
} 

%> 
    </body> 
</html> 
+0

嘿,夥計們,非常感謝你們的幫助,我想通了這個問題。我在另一臺電腦上運行了相同的代碼,並且完美運行。所以問題是PC上的東西而不是代碼。非常感謝你的幫助... – Ash 2014-08-29 15:07:07

回答

0

JAR文件將需要你的Java SDK安裝目錄下,jre\lib\ext下。這樣你就不必爲Tomcat指定額外的類路徑信息。 例子:D:\Sun\Java7SDK\jre\lib\ext\

可能僅僅是我使用的是不同的驅動程序(我的jar文件命名不同),但你也可能缺少字微軟在連接字符串中:

DriverManager.getConnection("jdbc:microsoft:sqlserver://" ... 

我不知道你正在使用,但在舊版本的Java是什麼版本的Java,你需要說你使用的是什麼驅動程序調用DriverManager.getConnection,你會做像以前一樣:

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
+0

我把我的jar文件放入jre \ lib \ ext文件夾中。但它仍然給我同樣的錯誤,我也嘗試改變我的連接刺痛,以各種可能的方式,但它仍然給了我這個錯誤。我不明白我在做什麼錯... – Ash 2014-08-28 16:40:50

0

這是如何連接..

public static void connect() throws Exception { 
    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    String url = "jdbc:mysql://localhost:3306/tour_package?autoReconnect=true"; 
    c = DriverManager.getConnection(url,"root","123"); 
    //root=database name 
    //123= password 
} 

如果你想得到結果集,你必須寫一個方法。

+0

從我的理解這個字符串是連接到'MySQL'數據庫,即時通訊使用SQL Server,即使,我已經對我的代碼進行了這些更改,但它仍然無法找到驅動程序,是否有任何其他方式將SQL Server連接到網頁。 – Ash 2014-08-28 16:46:42

0

這似乎是你的項目庫,那麼幹淨的構建,並嘗試運行項目,你應該添加JDBC SQL的Java庫。

+0

我試過這個,但它仍然沒有連接。 – Ash 2014-08-28 16:16:19