您好:
創(chuàng)新互聯(lián)建站成立以來不斷整合自身及行業(yè)資源、不斷突破觀念以使企業(yè)策略得到完善和成熟,建立了一套“以技術(shù)為基點(diǎn),以客戶需求中心、市場為導(dǎo)向”的快速反應(yīng)體系。對(duì)公司的主營項(xiàng)目,如中高端企業(yè)網(wǎng)站企劃 / 設(shè)計(jì)、行業(yè) / 企業(yè)門戶設(shè)計(jì)推廣、行業(yè)門戶平臺(tái)運(yùn)營、重慶APP開發(fā)公司、手機(jī)網(wǎng)站開發(fā)、微信網(wǎng)站制作、軟件開發(fā)、成都聯(lián)通服務(wù)器托管等實(shí)行標(biāo)準(zhǔn)化操作,讓客戶可以直觀的預(yù)知到從創(chuàng)新互聯(lián)建站可以獲得的服務(wù)效果。
標(biāo)準(zhǔn)安全連接
Data Source = myServerAddress;Initial Catalog = myDataBase;User Id = myUsername;Password = myPassword;
使用服務(wù)器名\實(shí)例名作為連接指定SQL Server實(shí)例的數(shù)據(jù)源。如果你使用的是SQL Server 2008 Express版,實(shí)例名為SQLEXPRESS。
可替代的標(biāo)準(zhǔn)安全連接
Server = myServerAddress;Database = myDataBase;User ID = myUsername;Password = myPassword;Trusted_Connection = False;
排除法:
拖一個(gè)數(shù)據(jù)控件如dataGridView,新建一個(gè)數(shù)據(jù)庫連接,看下能否連接上,如果能,說明連接字符串有問題,如果不能,看下面:
(A)1:你如果是獨(dú)立上網(wǎng)的請(qǐng)把21端口打開.局域網(wǎng)把1433端口打開就可以了.
2;關(guān)閉防火墻!
(B)把數(shù)據(jù)庫連接的 SqlLocalName="(local)" 的(local) 改成 IP試試??梢园?local) 該成127.0.0.1,或者改成外網(wǎng)IP
(C)打開服務(wù),暫停全文檢索及sql server服務(wù) 開啟sql server服務(wù)再開啟全文檢索服務(wù)
(D)SQL Server 右鍵屬性==安全選項(xiàng)中的“所有權(quán)鏈接:”“允許跨數(shù)據(jù)庫所有權(quán)鏈接”前面的勾要勾上(此操作需要重起SQL Server)。
2、關(guān)閉網(wǎng)站服務(wù)器的INTERNET共享。
1、檢查防火墻設(shè)置和1433端口設(shè)置正確;
2、如果出現(xiàn)“找不到網(wǎng)絡(luò)路徑”的報(bào)錯(cuò),那么最好先PING一下它的IP地址。如果PING不通,那么需要先確認(rèn)它是否連在網(wǎng)絡(luò)或者網(wǎng)絡(luò)連通性是否正常。然后查看是否啟用了防火墻或者屏蔽掉了相應(yīng)的端口。如果PING IP地址是正常的,但PING目標(biāo)機(jī)器的計(jì)算機(jī)名不通,則需要查看是事網(wǎng)絡(luò)名稱解析有問題。關(guān)于如何診斷名稱解析問題,可以先查看是所有客戶端機(jī)器有問題還是某一臺(tái)機(jī)器有問題。如果是所有機(jī)器的名稱解析都有問題,那么你需要到網(wǎng)絡(luò)的DNS或WINS服務(wù)器上檢查了。如果只是某一臺(tái)機(jī)器有問題,你需要先檢查一下hosts和lmhosts文件;如果正常,可以重新注冊(cè)一下DNS名字(ipconfig/reisterdns)。
----正常;
3、如果出現(xiàn)“xxx計(jì)算機(jī)無法訪問,您可能沒有權(quán)限使用網(wǎng)絡(luò)資源。請(qǐng)與這臺(tái)服務(wù)器的管理員聯(lián)系以查明您是否有訪問權(quán)限”的報(bào)錯(cuò),這可能是計(jì)算機(jī)的安全設(shè)置被改動(dòng)過了,導(dǎo)致目標(biāo)計(jì)算機(jī)無法被訪問??梢圆扇∫韵虏襟E解決:
---存在這個(gè)問題,通過以下方法來解決
a. 打開“我的電腦”,在菜單上選擇“工具”-“文件夾選項(xiàng)”-“查看”,清除“使用簡單文件共享(推薦)”的選擇。
b. 右鍵點(diǎn)擊“我的電腦”,選擇“管理”,選擇“本地用戶和組”-“用戶”,右鍵點(diǎn)擊Guest用戶,選“屬性”,清除“帳戶已停用”的選擇。
c. 點(diǎn)擊“開始”-“運(yùn)行”,輸入secpol.msc,選擇左邊的“本地策略”-“用戶權(quán)力指派”,雙擊右邊的“從網(wǎng)絡(luò)訪問此計(jì)算機(jī)”,保證其中有Everyone,雙擊左邊的“拒絕從網(wǎng)絡(luò)訪問此計(jì)算機(jī)”,保證其是空的。
d. 選擇左邊的“本地策略”-“安全選項(xiàng)”,a.確認(rèn)右邊的“網(wǎng)絡(luò)訪問:本地帳戶的共享與安全模式”為“經(jīng)典”;b.確認(rèn)右邊的“Microsoft網(wǎng)絡(luò)客戶:為通訊啟用數(shù)字簽名(總是)”為“已停用”;c.確認(rèn)右邊的“Microsoft網(wǎng)絡(luò)客戶:為通訊啟用數(shù)字簽名(如果服務(wù)器允許)”為“已啟用”;d.確認(rèn)右邊的“Microsoft網(wǎng)絡(luò)服務(wù)器:為通訊啟用數(shù)字簽名(總是)”為“已停用”;e.確認(rèn)右邊的“Microsoft網(wǎng)絡(luò)服務(wù)器:為通訊啟用數(shù)字簽名(如果服務(wù)器允許)”為“已啟用”。
4、用ODBC連接,結(jié)果一切OK。
連接數(shù)據(jù)庫文件
1
add name="LocalSqlServer" connectionString="Data Source=.\SQLExpress;Integrated Security=True;AttachDBFilename=|DataDirectory|TimeTracker.mdf;User Instance=true" /
SqlConnectionStringBuilder實(shí)例化時(shí),要用到connectionString,如:
1
SqlConnectionStringBuild builder = new SqlConnectionStringBuild(connectionString);
一、Data Source
SqlConnectionStringBuilder的DataSource屬性,對(duì)應(yīng)connectionString中的Data Source,“Data Source”可以由下列字符串代替:“server”,“address”,“addr”和“network address”。
Data Source=.\SQLExpress也可以寫成這樣Data Source=(local)\SQLExpress。
二、Integrated Security
SqlConnectionStringBuilder的IntegratedSecurity屬性,對(duì)應(yīng)connectionString中的Integrated Security,“Integrated Security”可以寫成“trusted_connection”,為true時(shí),使用當(dāng)前的 Windows 帳戶憑據(jù)進(jìn)行身份驗(yàn)證,為false時(shí),需要在連接中指定用戶 ID 和密碼。
三、AttachDBFilename
SqlConnectionStringBuilder的AttachDBFilename屬性,對(duì)應(yīng)connectionString中的AttachDBFilename,“AttachDBFilename”可以寫成“extended properties”,“initial file name”。AttachDbFileName屬性指定連接打開的時(shí)候動(dòng)態(tài)附加到服務(wù)器上的數(shù)據(jù)庫文件的位置。這個(gè)屬性可以接受數(shù)據(jù)庫的完整路徑和相對(duì)路徑(例如使用|DataDirectory|語法),在運(yùn)行時(shí)這個(gè)路徑會(huì)被應(yīng)用程序的App_Data目錄所代替。
四、User Instance
SqlConnectionStringBuilder的UserInstance屬性,對(duì)應(yīng)connectionString中的User Instance ,該值指示是否將連接從默認(rèn)的 SQL Server Express 實(shí)例重定向到在調(diào)用方帳戶之下運(yùn)行并且在運(yùn)行時(shí)啟動(dòng)的實(shí)例。UserInstance=true,在這種情況下,SQLServerExpress為了把數(shù)據(jù)庫附加到新的實(shí)例,建立一個(gè)新的進(jìn)程,在打開連接的用戶身份下運(yùn)行。在ASP.NET應(yīng)用程序中,這個(gè)用戶是本地的ASPNET帳號(hào)或默認(rèn)的NetworkService,這依賴于操作系統(tǒng)。為了安全地附加非系統(tǒng)管理員帳號(hào)(例如ASP.NET帳號(hào))提供的數(shù)據(jù)庫文件,建立一個(gè)獨(dú)立的SQLServer用戶實(shí)例是必要的。
一:C# 連接SQL數(shù)據(jù)庫
Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;
Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
Server=myServerName\theInstanceName;Database=myDataBase;Trusted_Connection=True;
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
1:Integrated Security參數(shù)
當(dāng)設(shè)置Integrated Security為 True 的時(shí)候,連接語句前面的 UserID, PW 是不起作用的,即采用windows身份驗(yàn)證模式。
只有設(shè)置為 False 或省略該項(xiàng)的時(shí)候,才按照 UserID, PW 來連接。
Integrated Security 還可以設(shè)置為:sspi ,相當(dāng)于 True,建議用這個(gè)代替 True。
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=true;
Data Source=myServerAddress;Initial Catalog=myDataBase;;User ID=myUsername;Password=myPasswordIntegrated Security=false;
2:參數(shù)Trusted_Connection
Trusted_Connection=true,將使用當(dāng)前的 Windows 帳戶憑據(jù)進(jìn)行身份驗(yàn)證
Trusted_Connection=false;將不采用信任連接方式(也即不采用Windows驗(yàn)證方式),而改由SQL Server 2000驗(yàn)證方式
Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=false;
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
3:Initial Catalog是你要連接的數(shù)據(jù)庫的名字
4:WINCE連接
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;User ID=myDomain\myUsername;Password=myPassword;
二:可以利用SqlConnectionStringBuilder,這樣不必去記住名稱。
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
scsb.DataSource = @"(local)\SQLExpress";
scsb.IntegratedSecurity = true;
scsb.InitialCatalog = "Northwind";
SqlConnection myConnection = new SqlConnection(scsb.ConnectionString);
三:可以利用屬性中的Setting來自動(dòng)設(shè)置連接字符串
1:在type中選擇 (connection string),
2:在DataSouce中選擇數(shù)據(jù)源,然后再Server中輸入服務(wù)器名,本地用(local)\SQLExpress
3:選擇登陸驗(yàn)證方式,本次選Windows驗(yàn)證(即信任連接Integrated Security=True)
4:選擇數(shù)據(jù)庫名,確認(rèn)即可
Data Source=(local)\SQLExpress;Initial Catalog=Northwind;Integrated Security=True
server = .\sqlexpress;integrated security = true;database = northwind
四:SQL2005遠(yuǎn)程服務(wù)器連接方法
如何打開sql server 2005 的1433端口:
配置工具-Sql Server Configuration Manager-MSSQLSERVER的協(xié)議看看TCP/IP協(xié)議是否啟動(dòng),如果啟動(dòng),右鍵菜單點(diǎn)"屬性" ,在分頁菜單中選"IP地址",把"IP1"和"IP2"中"TCP端口"為1433,"已啟用"改為"是"
配置工具-Sql Server Configuration Manager-SQL Native Client 配置-客戶端協(xié)議-TCP/IP選擇TCP/IP右鍵菜單中"屬性",確認(rèn)"默認(rèn)端口"是1433,"已啟用"為"是"。
SQL Server 2005 遠(yuǎn)程連接配置TCP/IP屬性:
Surface Area Configuration -- Database Engine -- Remote Connections ---Using TCP/IT SQL Server 外圍應(yīng)用配置器?服務(wù)和連接外圍配置?database englie?遠(yuǎn)程連接?啟用(遠(yuǎn)程連接的TCP/IP和named pipes)
SQL Server Configuration Manager?SQL2005網(wǎng)絡(luò)配置?啟用TCP/IP和named pipes
其他說明見下: sqlserver2005(Express版),為了便于管理,你還需要去下一個(gè)manage管理器:
安裝好manage管理器后,在程序中連接sqlserver2005,下面幾點(diǎn)是要注意的。
1. 開啟sql2005遠(yuǎn)程連接功能,開啟辦法如下, 配置工具-sql server外圍應(yīng)用配置器-服務(wù)和連接的外圍應(yīng)用配置器-打開MSSQLSERVER節(jié)點(diǎn)下的Database Engine 節(jié)點(diǎn),先擇"遠(yuǎn)程連接",接下建議選擇"同時(shí)使用TCP/IP和named pipes",確定后,重啟數(shù)據(jù)庫服務(wù)就可以了.
2.登陸設(shè)置改為,Sql server and windows Authentication方式同時(shí)選中,具體設(shè)置如下: manage管理器-windows Authentication(第一次用windows方式進(jìn)去),-對(duì)象資源管理器中選擇你的數(shù)據(jù)服務(wù)器--右鍵屬性securitySql server and windows Authentication方式同時(shí)選中.
3:設(shè)置一個(gè)Sql server方式的用戶名和密碼,具體設(shè)置如下: manage管理器-windows Authenticationnew querysp_password null,'sa123456','sa' 這樣就設(shè)置了一個(gè)用戶名為sa ,密碼為:sa123456的用戶,下次在登陸時(shí),可以用Sql server方式, 用戶名為sa ,密碼為:sa123456的用戶進(jìn)數(shù)據(jù)庫了.
4: 做完上面三步后,這樣寫連接字符串就可以順利進(jìn)入數(shù)據(jù)庫了,
(server=.\sqlexpress;uid=sa;pwd=sa123456;database=master";
五:SQL2000遠(yuǎn)程服務(wù)器連接方法
1:看ping 服務(wù)器IP能否ping通。
2:在Dos或命令行下輸入telnet 服務(wù)器IP 端口,看能否連通。 如telnet 202.114.100.100 1433 通常端口值是1433,因?yàn)?433是sql server 2000的對(duì)于Tcp/IP的默認(rèn)偵聽端口。如果有問題,通常這一步會(huì)出問題。通常的提示是“……無法打開連接,連接失敗"。
如果這一步有問題,應(yīng)該檢查以下選項(xiàng)。
1) 檢查遠(yuǎn)程服務(wù)器是否啟動(dòng)了sql server 2000服務(wù)。如果沒有,則啟動(dòng)。
2) 檢查服務(wù)器端有沒啟用Tcp/IP協(xié)議,因?yàn)檫h(yuǎn)程連接(通過因特網(wǎng))需要靠這個(gè)協(xié)議。檢查方法是,在服務(wù)器上打開 開始菜單- 程序- Microsoft SQL Server- 服務(wù)器網(wǎng)絡(luò)實(shí)用工具,看啟用的協(xié)議里是否有tcp/ip協(xié)議,如果沒有,則啟用它。
3)檢查服務(wù)器的tcp/ip端口是否配置為1433端口。仍然在服務(wù)器網(wǎng)絡(luò)實(shí)用工具里查看啟用協(xié)議里面的tcp/ip的屬性,確保默認(rèn)端口為1433,并且隱藏服務(wù)器復(fù)選框沒有勾上。 事實(shí)上,如果默認(rèn)端口被修改,也是可以的,但是在客戶端做 telnet測試時(shí),寫服務(wù)器端口號(hào)時(shí)必須與服務(wù)器配置的端口號(hào)保持一致。如果隱藏服務(wù)器復(fù)選框被勾選,則意味著客戶端無法通過枚舉服務(wù)器來看到這臺(tái)服務(wù)器,起到了保護(hù)的作用,但不影響連接,但是Tcp/ip協(xié)議的默認(rèn)端口將被隱式修改為2433,在客戶端連接時(shí)必須作相應(yīng)的改變。
4)如果服務(wù)器端操作系統(tǒng)打過sp2補(bǔ)丁,則要對(duì)windows防火墻作一定的配置,要對(duì)它開放1433端口,通常在測試時(shí)可以直接關(guān)掉windows防火墻(其他的防火墻也關(guān)掉最好)。
5)檢查服務(wù)器是否在1433端口偵聽。如果服務(wù)器沒有在tcp連接的1433端口偵聽,則是連接不上的。檢查方法是在服務(wù)器的dos或命令行下面輸入netstat -a -n 或者是netstat -an,在結(jié)果列表里看是否有類似 tcp 127.0.0.1 1433 listening 的項(xiàng)。如果沒有,則通常需要給sql server 2000打上至少sp3的補(bǔ)丁。其實(shí)在服務(wù)器端啟動(dòng)查詢分析器,輸入 select @@version 執(zhí)行后可以看到版本號(hào),版本號(hào)在8.0.2039以下的都需要打補(bǔ)丁。如果以上都沒問題,這時(shí)你再做telnet 服務(wù)器ip 1433 測試,將會(huì)看到屏幕一閃之后光標(biāo)在左上角不停閃動(dòng)。恭喜你,你馬上可以開始在企業(yè)管理器或查詢分析器連接了。
3: 檢查客戶端設(shè)置程序- Microsoft SQL Server - 客戶端網(wǎng)絡(luò)使用工具。像在服務(wù)器網(wǎng)絡(luò)實(shí)用工具里一樣,確??蛻舳藅cp/ip協(xié)議啟用,并且默認(rèn)端口為1433(或其他端口,與服務(wù)器端保持一致就行)。
4:在企業(yè)管理器里或查詢那分析器連接測試 企業(yè)管理器- 右鍵SQlserver組- 新建sqlserver注冊(cè)- 下一步- 寫入遠(yuǎn)程IP- 下一步- 選Sqlserver登陸- 下一步- 寫入登陸名與密碼(sa,password)- 下一步- 下一步- 完成 查詢分析器- 文件- 連接- 寫入遠(yuǎn)程IP- 寫入登錄名和密碼(sa,password)- 確定通常建議在查詢分析器里做,因?yàn)槟J(rèn)情況下,通過企業(yè)管理器注冊(cè)另外一臺(tái)SQL Server的超時(shí)設(shè)置是4秒,而查詢分析器是15秒。修改默認(rèn)連接超時(shí)的方法: 企業(yè)管理器- 工具- 選項(xiàng)- 在彈出的"SQL Server企業(yè)管理器屬性"窗口中,點(diǎn)擊"高級(jí)"選項(xiàng)卡- 連接設(shè)置- 在 登錄超時(shí)(秒) 后面的框里輸入一個(gè)較大的數(shù)字查詢分析器- 工具- 選項(xiàng)- 連接- 在 登錄超時(shí)(秒) 后面的框里輸入一個(gè)較大的數(shù)字通常就可以連通了,如果提示錯(cuò)誤,則進(jìn)入下一步。
5:錯(cuò)誤產(chǎn)生的原因通常是由于SQL Server使用了"僅 Windows"的身份驗(yàn)證方式,因此用戶無法使用SQL Server的登錄帳戶(如 sa )進(jìn)行連接。解決方法如下所示:
1) 在服務(wù)器端使用企業(yè)管理器,并且選擇"使用 Windows 身份驗(yàn)證"連接上 SQL Server。
2) 展開"SQL Server組",鼠標(biāo)右鍵點(diǎn)擊SQL Server服務(wù)器的名稱,選擇"屬性",再選擇"安全性" 選項(xiàng)卡。
3)在"身份驗(yàn)證"下,選擇"SQL Server和 Windows "。
4) 重新啟動(dòng)SQL Server服務(wù)。(在dos或命令行下面net stop mssqlserver停止服務(wù),net start mssqlserver啟動(dòng)服務(wù),也是一種快捷的方法)。
(1)將web.config配置文件的connectionStrings/改成
connectionStrings
add
name=SqlConn
connectionString=server=服務(wù)器名稱;uid=用戶名;pwd=密碼;database=數(shù)據(jù)庫/
/connectionStrings
(2)在你的SQLHelper文件導(dǎo)入命名空間using
System.Configuration;記得在項(xiàng)目中也要引用進(jìn)來。
(3)在類中申明一個(gè)字符串變量,獲取web.config文件中連接字符串的值:
在MYSQL中字符串連接使用的是concat內(nèi)置函數(shù)。
CONCAT() 的語法如下:
CONCAT(字串1, 字串2, 字串3, ...): 將字串1、字串2、字串3,等字串連在一起。
請(qǐng)注意,Oracle的CONCAT()只允許兩個(gè)參數(shù);
換言之,一次只能將兩個(gè)字串串連起來,不過,在Oracle中,可以用'||'來一次串連多個(gè)字串。
擴(kuò)展資料:
注意:
如果所有參數(shù)均為非二進(jìn)制字符串,則結(jié)果為非二進(jìn)制字符串。
如果自變量中含有任一二進(jìn)制字符串,則結(jié)果為一個(gè)二進(jìn)制字符串。
一個(gè)數(shù)字參數(shù)被轉(zhuǎn)化為與之相等的二進(jìn)制字符串格式;若要避免這種情況,可使用顯式類型 cast, 例如:
SELECT CONCAT(CAST(int_col AS CHAR), char_col)
參考資料來源:百度百科-concat()
本文題目:sqlserver連接字符串,sqlserver連接字符串要寫端口號(hào)嗎
轉(zhuǎn)載來于:http://www.rwnh.cn/article12/dscopdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、ChatGPT、用戶體驗(yàn)、品牌網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)