sqlserver鏈接資料庫
首先,配置環境變數。另外,如果你的機子上沒有資料庫驅動jar包的話,需要下載一個sqljdbc4.jar。下面,右擊「我的電腦」》》選擇「屬性」》》再選擇「高級」》》選中「環境變數」。
在彈出的對話框中,系統變數欄如果已經有了CLASSPATH系統變數(注意大寫),那麼在最後添上jar包的絕對路徑(;d:\sqljdbc4.jar),注意加上分隔符「;」。如果沒有CLASSPATH,那麼新建一個,如圖中所示。。
其次,對SqlServer配置管理器進行設置。首先打開SqlServer配置管理器。具體步驟如圖示。
進入SQL配置管理器後,選中左側「SQL Server網路配置」》》再選中「MSSQLSERVER的協議」雙擊後,右側窗口會有「TCP/IP」選項。雙擊進入。如圖示。
在TCP/IP屬性中對IP地址進行設置,IP地址設為「127.0.0.1」,即本地ip。埠值在後面會用到,先記住。如圖示。注意,TCP/IP若不是處於啟動狀態,要右擊後選擇「啟動」。
進行完上述設置後,打開MyEclipse進入資料庫操作界面。打開後,依次選擇「window」》》「open perspective」>>"other..."進入對話框,選擇「MyEclipse DataBase Explorer」後就進入了。如圖示。
在右側窗口空白區域右擊滑鼠,選擇"New.....",打開資料庫驅動對話框,具體操作步驟見圖所示。
對DatabaseDriver進行設置,「Driver template」中選擇Sqlserver;「Driver name」可以隨便取;「Connection URL」如圖所示設置,注意,1433,即為上面提到的埠值。後面的「databaseName=bank」是Sql中已存在的一個資料庫名。賬號、密碼一般是「sa」,然後,點擊「Add JARs」把jar包導入。點擊「finish」完成設置。
上述設置完成後,MyEclipse左側窗口就會出現剛設置的「Driver name」即sqlserver,如圖示。右擊「sqlserver」,選擇「open connection...」,在彈出的對話框中輸入賬號密碼,就是上面的「sa」。點擊「OK」就可以了,資料庫連接成功了。效果如圖示。
『貳』 如何連接sqlserver資料庫
遠程連接sql server 2000伺服器的解決方案
一、 看ping 伺服器ip能否ping通。
這個實際上是看和遠程sql server 2000伺服器的物理連接是否存在。如果不行,請檢查網路,查看配置,當然得確保遠程sql server 2000伺服器的IP拼寫正確。拆段
二 、在Dos或命令行下輸入telnet 伺服器IP 埠,看能否連通。
如telnet 202.114.100.100 1433
通常埠值是1433,因為1433是sql server 2000的對於Tcp/IP的默認偵聽埠。如果有問題,通常這一步會出問題。通常的提示晌敗是「……無法打開連接,連接失敗"。
如果這一步有問題,應該檢查以下選項。
1. 檢查遠程伺服器是否啟動了sql server 2000服務。如果沒有,則啟動。
2. 檢查伺服器端有沒啟用Tcp/IP協議,因為遠程連接(通過網際網路)需要靠這個協議。檢查方法是,在伺服器上打開 開始菜單->程序->Microsoft SQL Server->伺服器網路實用工具,看啟用的協議里是否有tcp/ip協議,如果沒有,則啟用它。
3. 檢查伺服器的tcp/ip埠是否配置為1433埠。仍然在伺服器網路實用工具里查看啟用協議裡面的tcp/ip的屬性,確保默認埠為1433,並且隱藏伺服器復選框沒有勾上。
事實上,如果默認埠被修改,也是可以的,但是在客戶端做telnet測試時,寫伺服器埠號時必須與伺服器配置的埠號保持一致。如果隱藏伺服器復選框被勾選,則意味著客戶端無法通過枚舉伺服器來看到這台伺服器,起到了保護的作用,但不影響連接,但是Tcp/ip協議的默認埠將被隱式修改為2433,在客戶端連接時必須作相應的改變。
4. 如果伺服器端操作系統打過sp2補丁,則要對windows防火牆作一定的配置,要對它開放1433埠,通常在測試時可以直接關掉windows防火牆(其他的防火牆也關掉最好)。
5. 檢查伺服器是否在1433埠偵聽。如果伺服器沒有在tcp連接的1433埠偵聽,則是連接不上的。檢查方法是在伺服器的dos或命令行下面輸入
netstat -a -n 或者是netstat -an,在結果列表裡看是否有類似 tcp 127.0.0.1 1433 listening 的項。如果沒有,則通常需要給sql server 2000打上至少sp3的補丁。其實在伺服器端啟動查詢分析器,輸入 select @@version 執行後可以看到版本號,版本號在8.0.2039以下的都需要打補丁。
如果以上都沒問題,這時再做telnet 伺服器ip 1433 測試,將會看到屏幕一閃之後游標在左上角不停閃動。恭喜,馬上可以開始在企業管理器或查詢分析器連接了。
三、 檢查客戶端設置
程序->Microsoft SQL Server -> 客戶端網路使用工具。像在伺服器網路實用工具里一樣,確保客戶端tcp/ip協議啟用,並且默認埠為1433(或其他埠,與宴御顫伺服器端保持一致就行)。
四、 在企業管理器里或查詢那分析器連接測試
企業管理器->右鍵SQlserver組->新建sqlserver注冊->下一步->寫入遠程IP->下一步->選Sqlserver登陸->下一步->寫入登陸名與密碼(sa,password)->下一步->下一步->完成
查詢分析器->文件->連接->寫入遠程IP->寫入登錄名和密碼(sa,password)->確定
通常建議在查詢分析器里做,因為默認情況下,通過企業管理器注冊另外一台SQL Server的超時設置是4秒,而查詢分析器是15秒。
修改默認連接超時的方法:
企業管理器->工具->選項->在彈出的"SQL Server企業管理器屬性"窗口中,點擊"高級"選項卡->連接設置->在 登錄超時(秒) 後面的框里輸入一個較大的數字
查詢分析器->工具->選項->連接->在 登錄超時(秒) 後面的框里輸入一個較大的數字
通常就可以連通了,如果提示錯誤,則進入下一步。
五、 錯誤產生的原因通常是由於SQL Server使用了"僅 Windows"的身份驗證方式,因此用戶無法使用SQL Server的登錄帳戶(如 sa )進行連接。解決方法如下所示:
1. 在伺服器端使用企業管理器,並且選擇"使用 Windows 身份驗證"連接上 SQL Server。
2. 展開"SQL Server組",滑鼠右鍵點擊SQL Server伺服器的名稱,選擇"屬性",再選擇"安全性"選項卡。
3. 在"身份驗證"下,選擇"SQL Server和 Windows "。
4. 重新啟動SQL Server服務。(在dos或命令行下面net stop mssqlserver停止服務,net start mssqlserver啟動服務,也是一種快捷的方法)。
附註:在連接本地伺服器時,通常使用的是命名管道協議(在伺服器網路實用工具里可以看到啟用的協議有這個),默認埠是445,因此在本地能連通是不能說明什麼問題的,連接遠程伺服器是完全不同的協議)
『叄』 java如何連接SQLserver資料庫
從M$網站下載最新JDBC驅動或都使用maven:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>9.4.1.jre11</version>
</dependency>
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class SQLDatabaseConnection {
// Connect to your database.
// Replace server name, username, and password with your credentials
public static void main(String[] args) {
String connectionUrl =
"jdbc:sqlserver://yourserver.database.windows.net:1433;"
+ "database=AdventureWorks;"
+ "user=yourusername@yourserver;"
+ "password=yourpassword;"
+ "encrypt=true;"
+ "trustServerCertificate=false;"
+ "loginTimeout=30;";
String insertSql = "INSERT INTO SalesLT.Proct (Name, ProctNumber, Color, StandardCost, ListPrice, SellStartDate) VALUES "
+ "('NewBike', 'BikeNew', 'Blue', 50, 120, '2016-01-01');";
ResultSet resultSet = null;
try (Connection connection = DriverManager.getConnection(connectionUrl);
PreparedStatement prepsInsertProct = connection.prepareStatement(insertSql, Statement.RETURN_GENERATED_KEYS);) {
prepsInsertProct.execute();
// Retrieve the generated key from the insert.
resultSet = prepsInsertProct.getGeneratedKeys();
// Print the ID of the inserted row.
while (resultSet.next()) {
System.out.println("Generated: " + resultSet.getString(1));
}
}
// Handle any errors that may have occurred.
catch (Exception e) {
e.printStackTrace();
}
}
}