本文的目的是:通過外網,訪問架設在本地區域網內的sql server2014伺服器(其他版本未證實,但想來大同小異)。
在撰寫本文之前,我花了大量的時間在網路上查詢關於vb遠端連線sqlserver伺服器的資料。通過各種艱難摸索,終於找到了行之有效的成功連線的經驗。不敢獨享,拿來與大家共同交流。
1、遠端連線sql server伺服器必須要有sa賬號和密碼,所以,在sqlserver management studio中,請設定例項的sa密碼。這是必須做的一點,不設定sa密碼,應該無法訪問遠端sql server。
非常重要的一點:(也是我經過實際操作證實的一點)要想通過外網遠端訪問sqlserver伺服器,在設定sa密碼的時候,只能使用那個不帶例項的預設計算機名,如果設定的是帶例項名帶sa密碼,會出現最終無法連線的情況(也可能是我本人沒找到解決辦法,望大神告知)。我以我自己的伺服器舉例:
選擇計算機名,不帶後面那串sqlexpress的例項登入
在請先用windows身份驗證登入
找到:安全性—登入名—sa,右鍵,屬性
照本頁設定設定密碼,密碼請記住,後面設定登入的時候需要用到。
照本頁設定狀態頁
點這裡斷開連線,再點左邊那個連線
伺服器名稱選擇伺服器名字的,身份驗證選擇sql server身份驗證,輸入sa的登入名和密碼。點連線,至此,sa密碼設定完成。
2、在sql server伺服器電腦上關閉防火牆或者放開1433埠,如果關閉,就可以不用放開1433埠,確實不想關閉的,推薦文章如下:
3、配置sql server2014伺服器,使遠端能夠訪問該sql server伺服器,就不自己再獻醜了,已經有前輩做得很好了,推薦如下:
public cnn as adodb.connection
set cnn = new adodb.connection
cnn.connectionstring = "driver=sql server;server=212.211.173.172;uid=sa;pwd=123456;database=test"
cnn.commandtimeout = 20
cnn.open
strsql = "insert into testtabel(username,userpwd,regtime) values('遠端測試1','123456','2018-9-28')"
cnn.execute strsql
還是解釋一下:
首先,在你的工程中找到:工程—引用,往下拖啊拖啊,找到microsoft activex data objects 2.x library(其他的未證實,請自行證實),勾選,確定。
database=test,test是在例項中建立的資料庫
testtabel是在資料庫test中建立的包含username,userpwd,regtime三個欄位的表
server=212.211.173.172;這段字串只能這樣填寫,不能帶1433埠,我之前搜到一篇文章的那個連線字串是錯誤的,如果寫成:server=212.211.173.172,1433;打死都連不上伺服器,每次都會報sa登入錯誤。後來我想了想,應該是伺服器預設就會自動訪問1433埠,不需要再寫入埠號。
VB6通過ASP網頁實現C S模式
c s模式一般都是用winsock來相互通訊,實現雙方互動。用asp網頁來連線 不能稱之為通訊 只能c對s傳送資訊或請求一些資訊,s是不能主動來連線c,發資訊給c。一 c端 既然是要訪問asp頁,這裡有二種方式。1 api寫的訪問模組 option explicit 把以上 放到乙個模組中即可。呼叫...
VB6與SQLServer資料庫連線例項ADO
option explicit dim gobjconn as new cado dim k as integer k gobjconn.connected 資料庫名稱 ip位址 sa sa密碼 if k 0 then label1.caption now 連線 資料庫伺服器失敗!label1.fo...
VB6 連線MySql資料庫
目測 vb6 的資料比較少了,花了好久時間寫了個查詢語句 dim cn as newadodb.connection dim rs as newadodb.recordset 定義資料庫連線字串變數 dim strcn as string 定義資料庫連線引數變數 dim db host as str...