寫在開頭java
不得不說給一臺新的服務器配置和部署的確是個不小的工程,在這裏先感謝咱們的DEV焉域政同窗在這方面作出的一些貢獻:把安裝過程極爲困難的sql server2008成功安裝到服務器上,而且爲咱們配置了java環境、安裝了Eclipse。目前數據處理小組也在使用咱們服務器已經安裝好的sql server了。在數據庫能正常使用以後,咱們的爬蟲理所固然地開始進行他的工做:爲數據處理小組的成員提供爬取的數據。sql
引言數據庫
sql sever的安裝困難,而且在使用前的配置都會令人發愁。在這裏筆者提出程序鏈接上sql server可能會遇到的幾個問題和他們對應的解決辦法。但願之後的軟工小組若遇到這些問題,可以在這裏找到答案。windows
1、sql server的一些基礎配置安全
首先在打開sql server management studio咱們能夠看到他須要咱們連接到服務器:服務器
在服務器上咱們能夠直接以windows身份驗證進去local數據庫服務器。網絡
在pc上咱們須要鏈接到數據庫時,每每是要進行sql server身份驗證來鏈接的,那麼如何獲得一個sql server的身份呢?步驟以下:sqlserver
咱們在服務器上以window身份驗證的方式登陸以後:打開對象資源管理器→安全性→登陸名。便可創建或修改一個sql server的身份,創建以後在pc程序運行過程當中可能會遇到一些數據庫操做的權限問題,這裏相信讀者可以本身輕易的解決,也就再也不累述了。spa
自此,咱們就可以在pc上運行咱們的程序而將所爬取的內容存到服務器上了。在程序中會有這樣相似的語句:3d
String conURL= "jdbc:sqlserver://xxx.xxx.xxx.xxx;DatabaseName=xxx";
con=DriverManager.getConnection(conURL,"xxx","xxx");
其中第一處即要填入服務器的Ip地址,第二處填出數據庫名稱。第3、四處則是要填入咱們剛剛創建的sql server身份驗證信息了。
2、鏈接問題解決辦法
然而,每每就是這些地方設置好後,在pc上運行程序卻發現問題來了:
大多數人會存在這樣的異常:
The TCP/IP connection to the host xxx.xxx.xxx.xxx, port 1433 has failed. Error: Connection timed out: connect. Please verify the connection properties and check that a SQL Server instance is running on the host and accepting TCP/IP connections at the port, and that no firewall is blocking TCP connections to the port.
而這個問題每每要對多個地方修改才能解決,解決方法以下:
1.肯定1433端口處於打開狀態。
在cmd中鍵入telnet localhost 1433回車,若出現小黑屏幕則表示處於打開狀態,不然需打開1433端口。
2.確保sql server的TCP/IP協議處於已啓用狀態。
首先打開sql server配置管理器,在sql server網絡配置中肯定TCP/IP協議處於已啓用狀態。並在其屬性中肯定具體的TCP/IP地址處於已啓用狀態,最終如圖:
3.肯定防火牆無阻攔
在以上兩個方法後pc程序仍不能鏈接上數據庫時,能夠關閉防火牆查看是不是由於請求被服務器防火牆阻攔。驗證完畢後若是是,由於危險不能一直關閉防火牆,可在防火牆高級設置中新建入站規則:
3、結語
在以上幾個問題解決後咱們小組的成員都能在pc上進行爬取了,可以將所爬取的數據在pc上進行處理再存入服務器的數據庫,這大大提升了工做效率,爲數據處理的團隊提供了更多的數據基礎。