首先檢查SQL數(shù)據(jù)庫服務(wù)器中是否允許遠(yuǎn)程鏈接。其具體操作如下:
為企業(yè)提供做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)站優(yōu)化、全網(wǎng)營銷推廣、競價(jià)托管、品牌運(yùn)營等營銷獲客服務(wù)。創(chuàng)新互聯(lián)擁有網(wǎng)絡(luò)營銷運(yùn)營團(tuán)隊(duì),以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗(yàn)助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實(shí)力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時(shí)降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認(rèn)可!
(1)右擊SQL Server 2008選項(xiàng),選擇SQL Server 2008 Management Studio:
(2)打開“服務(wù)器屬性(Server Properties)” (右鍵連接名稱-屬性)
選擇“允許用戶對該服務(wù)器進(jìn)行遠(yuǎn)程鏈接”選項(xiàng)后,檢查是否問題已經(jīng)排除。如果遠(yuǎn)程鏈接已經(jīng)成功,該過程已經(jīng)完成。若用戶發(fā)現(xiàn)“提醒錯(cuò)誤對話框”依然彈出,那么還需要做的是:
(二)檢查SQL網(wǎng)絡(luò)鏈接配置。其具體操作如下:
打開“SQL服務(wù)器配置管理”選項(xiàng)打開“該節(jié)點(diǎn)的SQL服務(wù)器網(wǎng)絡(luò)配置選項(xiàng)”選擇“微軟SQL 服務(wù)器網(wǎng)絡(luò)協(xié)議”選項(xiàng)(或用戶的SQL服務(wù)器中為SQL服務(wù)器配置網(wǎng)絡(luò)協(xié)議的選項(xiàng),不同版本的SQL名稱可能不同):
設(shè)置完成后重啟sql服務(wù)(net stop mssqlserver net start mssqlserver)
確定“微軟SQL服務(wù)器網(wǎng)絡(luò)選項(xiàng)協(xié)議”中的TCP/IP協(xié)議對服務(wù)器來說是有效的。再次檢查是否已經(jīng)可以執(zhí)行遠(yuǎn)程鏈接。若“錯(cuò)誤提醒對話框”依然彈出,需要進(jìn)一步檢查SQL服務(wù)器防火墻選項(xiàng)。
(三)檢查SQL服務(wù)器防火墻設(shè)置 (快捷步驟-直接關(guān)閉防火墻(不安全))
如
果在進(jìn)行完上兩步操作后,用戶端計(jì)算機(jī)仍然無法遠(yuǎn)程鏈接到SQL服務(wù)器,用戶需要做的是對SQL服務(wù)器防火墻進(jìn)行重新配置。在進(jìn)行這一步操作時(shí),首先找到
SQL服務(wù)器上那個(gè)端口支持TCP/IP協(xié)議。用戶可以在SQL服務(wù)器防火墻已經(jīng)處于運(yùn)行狀態(tài)下,點(diǎn)擊“TCP/IP協(xié)議”選擇“屬性”:
從
上圖中可以看出,這臺(tái)SQL服務(wù)器上支持TCP/IP協(xié)議的是1433端口。下一步要做的是在防火墻的配置中允許1433端口支持TCP/IP協(xié)議
即可。如果服務(wù)器上運(yùn)行的是Windows
7操作系統(tǒng),其配置步驟為(其他微軟操作系統(tǒng)的做法類似),打開“控制面板”選擇“Windows防火墻”選項(xiàng):
選擇“高級設(shè)置”后,在右邊菜單欄中找出“具有高級安全選項(xiàng)的Windows防火墻”并將其打開。打開后會(huì)發(fā)現(xiàn)在左邊菜單欄中有“入站規(guī)則(Inboud Rules)”選項(xiàng)。將該選項(xiàng)打開,并在右邊菜單欄中選擇“新建規(guī)則(New Rule)”選項(xiàng):
打開“新建規(guī)則”選項(xiàng)后,利用“新內(nèi)置綁定規(guī)則向?qū)А睘?433端口配置“內(nèi)部綁定協(xié)議”配置為適用于TCP/IP協(xié)議即可。(前提是,需要完成該步驟以前所述的所有步驟),根據(jù)下面的幾幅圖為1433端口配置適用于1433端口即可:
以上全部都沒問題了之后打開SQL2008,輸入遠(yuǎn)程服務(wù)器名或IP、登錄名及密碼就可以連接到遠(yuǎn)程服務(wù)器上了。
一。數(shù)據(jù)庫的連接方法:
%
dim conn,mdbfile
mdbfile=server.mappath("數(shù)據(jù)庫名稱.mdb")
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=數(shù)據(jù)庫密碼;dbq="mdbfile
%
2. ASP與SQL數(shù)據(jù)庫連接:
%
dim conn
set conn=server.createobject("ADODB.connection")
con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服務(wù)器名稱或IP地址;UID=sa;PWD=數(shù)據(jù)庫密碼;DATABASE=數(shù)據(jù)庫名稱
%
1.Access數(shù)據(jù)庫的DSN-less連接方法:
set adocon=Server.Createobject("adodb.connection")
adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ=" _
Server.MapPath("數(shù)據(jù)庫所在路徑")
2.Access OLE DB連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;" _
"Data Source=" Server.MapPath("數(shù)據(jù)庫所在路徑")
3.SQL server連接方法:
set adocon=server.createobject("adodb.recordset")
adocon.Open"Driver={SQL Server};Server=(Local);UID=***;PWD=***;" _
"database=數(shù)據(jù)庫名;"
4.SQL server OLE DB連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"provider=SQLOLEDB.1;Data Source=RITANT4;" _
"user ID=***;Password=***;" _
"inital Catalog=數(shù)據(jù)庫名"
5.Oracle 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"
6.Oracle OLE DB 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"
7.dBase 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"
8.mySQL 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;"
9.Visual Foxpro 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"
10.MS text 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;"_
"extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"
11.MS text OLE DB 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=microsof.jet.oledb.4.0;data source=your_path;"_
"Extended Properties'text;FMT=Delimited'"
--創(chuàng)建鏈接服務(wù)器
exec?sp_addlinkedserver???'ITSV?',?'?',?'SQLOLEDB?',?'遠(yuǎn)程服務(wù)器名或ip地址?'
exec?sp_addlinkedsrvlogin??'ITSV?',?'false?',null,?'用戶名?',?'密碼?'
--查詢示例
select?*?from?ITSV.數(shù)據(jù)庫名.dbo.表名
--導(dǎo)入示例
select?*?into?表?from?ITSV.數(shù)據(jù)庫名.dbo.表名
--以后不再使用時(shí)刪除鏈接服務(wù)器
exec?sp_dropserver??'ITSV?',?'droplogins?'
打開SQL SERVER2005的管理工具:SSMS
1.展開服務(wù)器對象--鏈接服務(wù)器--右擊"新建鏈接服務(wù)器"
注意:必須以數(shù)據(jù)庫管理員身份登錄(通常也就是sa帳號)后,才可以創(chuàng)建"鏈接服務(wù)器"
2.輸入鏈接服務(wù)器的IP
3.設(shè)置鏈接服務(wù)器的安全性(登錄遠(yuǎn)程服務(wù)器的相關(guān)賬號等信息)
4.確定,即完成了鏈接服務(wù)器的創(chuàng)建
5.測試
用本地SQL帳號本地登錄SqlServer,新建一個(gè)查詢,輸入
Select * From [鏈接服務(wù)器名].[遠(yuǎn)程數(shù)據(jù)庫名].[所有者].[表名]
比如
Select * from [127.0.0.1].[otherServer].[dbo].[t_class]
sqlserver遠(yuǎn)程連接
需要?jiǎng)e人遠(yuǎn)程你的數(shù)據(jù)庫,首先需要的是在一個(gè)局域網(wǎng)內(nèi),或者連接的是同一個(gè)路由器,接下來就是具體步驟:
(一)首先是要檢查SQLServer數(shù)據(jù)庫服務(wù)器中是否允許遠(yuǎn)程鏈接。其具體操作為:
(1)打開數(shù)據(jù)庫,用本地帳戶登錄,右擊第一個(gè)選項(xiàng),選擇屬性:
(2)在打開的屬性窗口,在其右邊點(diǎn)擊“連接”,然后再左側(cè)勾上“允許遠(yuǎn)程連接到此服務(wù)器”:
(二)為微軟SQL服務(wù)器(MSSQLServer)配置相應(yīng)協(xié)議。
(1)依次選擇:開始-〉所有程序-〉Microsoft SQL Server 2008-〉配置工具-〉SQL Server配置管理器,如下圖所示:
(2)打開SQL Server配置管理器后,選擇SQL Server網(wǎng)絡(luò)配置下面的MSSQLSERVER,然后看右邊里面的TCP/IP是否為“已啟用”,如下圖所示:
(三)檢查SQL服務(wù)器防火墻設(shè)置 (快捷步驟-直接關(guān)閉防火墻(不安全))
(1)在進(jìn)行完上兩步操作后,用戶需要做的是對SQL服務(wù)器防火墻進(jìn)行重新配置。在進(jìn)行這一步操作時(shí),首先找到SQL服務(wù)器上那個(gè)端口支持TCP/IP協(xié)議。用戶可以在SQL服務(wù)器防火墻已經(jīng)處于運(yùn)行狀態(tài)下,右擊“TCP/IP協(xié)議”選擇“屬性”:
從上圖中我們可以看出,這臺(tái)SQL服務(wù)器上支持TCP/IP協(xié)議的是1433端口。下一步要做的是在防火墻的配置中允許1433端口支持TCP/IP協(xié)議即可。如果服務(wù)器上運(yùn)行的是Windows 7操作系統(tǒng),其配置步驟為(其他微軟操作系統(tǒng)的做法類似),打開“控制面板”選擇“Windows防火墻”選項(xiàng),然后點(diǎn)擊高級選項(xiàng),如下圖所示:
(2)選擇“高級設(shè)置”后,在右邊菜單欄中找出“具有高級安全選項(xiàng)的Windows防火墻”并將其打開。打開后會(huì)發(fā)現(xiàn)在左邊菜單欄中有“入站規(guī)則(Inboud Rules)”選項(xiàng)。將該選項(xiàng)打開,并在右邊菜單欄中選擇“新建規(guī)則(New Rule)”選項(xiàng):
(3)打開“新建規(guī)則”選項(xiàng)后,利用“新內(nèi)置綁定規(guī)則向?qū)А睘?433端口配置“內(nèi)部綁定協(xié)議”配置為適用于TCP/IP協(xié)議即可。(前提是,需要完成該步驟以前所述的所有步驟),根據(jù)下面的幾幅圖為1433端口配置適用于1433端口即可:
最后點(diǎn)擊“完成”即可。測試方法:在局域網(wǎng)內(nèi)找一臺(tái)電腦,打開SQLServer數(shù)據(jù)庫,然后輸入你的Ip和密碼,如果能連接上,就說明已經(jīng)配置好了,如下圖所示:
步驟/方法
1
在我們c#與sql鏈接的過程中,一般會(huì)有兩種方法,而每種方法均賦予了不同的權(quán)限;如下:
1、集成的Windows身份驗(yàn)證語法范例:
String connectionString = "server=localhost;database=Northwind;integrated security=SSPI";
代碼說明:其中server表示運(yùn)行Sql Server的計(jì)算機(jī)名,由于在本書中,ASP.NET程序和數(shù)據(jù)庫系統(tǒng)是位于同一臺(tái)計(jì)算機(jī)的,所以我們可以用localhost取代當(dāng)前的計(jì)算機(jī)名,當(dāng)然localhost也可以用“.”來代替。database表示所使用的數(shù)據(jù)庫名,這里設(shè)置為Sql Server自帶的一個(gè)示例數(shù)據(jù)庫--Northwind。由于我們希望采用集成的Windows驗(yàn)證方式,所以設(shè)置 integrated security為SSPI即可。
注意:在使用集成的Windows驗(yàn)證方式時(shí),并不需要我們輸入用戶名和口令,而是把登錄Windows時(shí)輸入的用戶名和口令傳遞到Sql Server。然后Sql Server檢查用戶清單,檢查其是否具有訪問數(shù)據(jù)庫的權(quán)限。而且數(shù)據(jù)庫連接字符串是不區(qū)分大小寫的。
2
2、采用Sql Server身份驗(yàn)證的語法范例:
string connectionString = "server=localhost;database=Northwind;uid=sa;pwd=sa";
代碼說明:在上述語法范例的程序代碼中,采用了使用已知的用戶名和密碼驗(yàn)證進(jìn)行數(shù)據(jù)庫的登錄。localhost可以用“.”來代替,uid為指定的數(shù)據(jù)庫用戶名,pwd為指定的用戶口令。為了安全起見,一般不要在代碼中包括用戶名和口令,你可以采用前面的集成的Windows驗(yàn)證方式或者對Web.Config文件中的連接字符串加密的方式提高程序的安全性。
END
注意事項(xiàng)
在我們運(yùn)用以上兩種方法中的任何一種的時(shí)候,我們一定要注意以下幾點(diǎn):
1、細(xì)心:我們在編寫鏈接字符串的時(shí)候,一定要認(rèn)真加仔細(xì),因?yàn)閏#是區(qū)分字母的大小寫的,同時(shí)在某種情況下,還對空格敏感;在筆者還是菜鳥的時(shí)候,就因?yàn)橐粋€(gè)空格的問題,使本人糾纏了2天而郁悶萬分,最后一查,竟然是一個(gè)空格惹的禍;
2、權(quán)限:這里,就是要大家注意的是,我們鏈接數(shù)據(jù)庫的權(quán)限一定要獲取正確,如果權(quán)限不正確,那再認(rèn)真和仔細(xì),也是枉然;
3、網(wǎng)速:在我們開發(fā)的c#程序中,也偶爾會(huì)出現(xiàn)因?yàn)榫W(wǎng)速巨慢引起的sql鏈接故障的問題,那么我們在檢查以上2種都無誤的情況下,去測試一下你的網(wǎng)速是否出現(xiàn)異常,由此來判斷一下你的數(shù)據(jù)庫鏈接是否真正有誤;這,是否是c#中的一個(gè)小bug呢?歡迎大家討論!
其實(shí)啊,這本來是一個(gè)很easy的問題,就像我的引言中所說那樣,不是很復(fù)雜,只要我們方法正確,足夠仔細(xì),就不會(huì)出現(xiàn)什么問題;