欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

sql連接語句中的Integrated Security=SSPI/ture

系統 1656 0

關于sql連接語句中的Integrated Security=SSPI
解決方法:
即:Security Support Provider Interface
設置Integrated Security為 True 的時候,連接語句前面的 UserID, PW 是不起作用的,即采用windows身份驗證模式。
只有設置為 False 或省略該項的時候,才按照 UserID, PW 來連接。
Integrated Security 可以設置為: True, false, yes, no ,這四個的意思很明白了,還可以設置為:sspi ,相當于 True,建議用這個代替 True。

initial catalog與database的區別是什么
??????? Initial Catalog:
DataBase:
兩者沒有任何區別只是名稱不一樣,就好像是人類的真實姓名與曾用名一樣。。都可以叫你。

********************************************

Integrated Security=SSPI 這個表示以當前WINDOWS系統用戶身去登錄SQL SERVER服務器,如果SQL SERVER服務器不支持這種方式登錄時,就會出錯。
你可以使用SQL SERVER的用戶名和密碼進行登錄,如:
"Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=數據庫名;Data Source=192.168.0.1;User ID=sa;Password=密碼"


***************************************************

Integrated?? Security???? -?? 或?? -??? Trusted_Connection?? 'false'?? 當為?? false?? 時,將在連接中指定用戶?? ID?? 和密碼。當為?? true?? 時,將使用當前的?? Windows?? 帳戶憑據進行身份驗證。?? 可識別的值為?? true、false、yes、no?? 以及與?? true?? 等效的?? sspi(強烈推薦)。??


*************************************************

ADO.net?? 中數據庫連接方式
System.Data.SqlClient.SqlConnection
常用的一些連接字符串(C#代碼):

SqlConnection?? conn?? =?? new?? SqlConnection(?? “Server=(local);Integrated?? Security=SSPI;database=Pubs“);

SqlConnection?? conn?? =?? new?? SqlConnection(“server=(local)\NetSDK;database=pubs;Integrated?? Security=SSPI“);

SqlConnection?? conn?? =?? new?? SqlConnection(“Data?? Source=localhost;Integrated?? Security=SSPI;Initial?? Catalog=Northwind;“);

SqlConnection?? conn?? =?? new?? SqlConnection(“?? data?? source=(local);initial?? catalog=xr;integrated?? security=SSPI;
persist?? security?? info=False;workstation?? id=XURUI;packet?? size=4096;?? “);

SqlConnection?? myConn???? =?? new?? System.Data.SqlClient.SqlConnection(“Persist?? Security?? Info=False;Integrated
Security=SSPI;database=northwind;server=mySQLServer“);

SqlConnection?? conn?? =?? new?? SqlConnection(?? “?? uid=sa;pwd=passwords;initial?? catalog=pubs;data?? source=127.0.0.1;Connect?? Timeout=900“);

string sqlConnectString1 = "Data Source=(local);" +
??????????????? "Integrated security=SSPI;Initial Catalog=Taxi;";

string sqlConnectString2 = "Data Source=(local);" +
??????????????? "User Id=sa;Password=123;Initial Catalog=Taxi;";

SqlConnection cn = new SqlConnection("server=localhost;database=testing;user=sa;password=123");

連接字符串中的一些屬性

Connection lifetime 連接 生存 時間,默認為0,表示無限長,單位為秒.在SQL集群環境中我們才設置為具體的數值.

Connection timeout 連接 生成 時間,默認為15秒,通俗的講當你conn.Open等15秒后還沒連接成功,那么就會拋出一個連接超時的錯誤,這也是為什么其他錯誤來的那么突然,而數據庫連接超時錯誤,非要你等15秒的原因了.

Pooling 是否使用連接池, 默認是起用的,使用Pooling=false來禁止.

Min Pool Size,Max Pool Size 默認情況下最小是0,最大是100.

關 于pooling屬性在上面所有的連接字符串中多是默認開啟的,連接池能有效的提高數據庫訪問性能,因為創建一個連接需要消耗很多資源,尤其是進行異地訪 問時(一般指局域網,最好不要進行跨internet的數據庫訪問)更加如此,因此你在多數情況下不需要顯式的禁止(也許你沒在意微軟一直幫你開通著), 事實上在你使用 conn.open() ,conn.close() 多少數情況下不是真的打開一個連接,而是向連接池中取一條可用連接,跟歸還一條連接,conn.open操作只有在池中沒有可用連接時才會創建一條連接, 當然如果池中可用接數目達到Max Pool Size時,他將不再創建新的連接,而是等待一條可用連接的到來,這個時間是Connection timeout. 當然你的conn.Open操作涉及的連接池,取決于你的連接字符串,比如:
"Data Source=127.0.0.1\SQL2K;Initial Catalog=MyDBA;Integrated
Security=SSPI"


"Data Source=127.0.0.1\SQL2K;Initial Catalog=MyDBA;Integrated
Security=SSPI
;" ,注意后面多了";"
會開啟兩個獨立的連接池,ADO.NET 判斷字符串是否相同的依據是對字符串進行2進制的比較,所以任何變動(空格,大小寫)都會被判斷為不同的連接字符串.
有如下代碼
-----------------------------------
string strConn=" Data Source=127.0.0.1\SQL2K;Initial Catalog=MyDBA;Integrated
Security=SSPI
;";
for(int i=0;i<10;i++){
SqlConnection conn=new SqlConnection(strConn);
conn.Open();
conn.Close()
}

string strConn=" Data Source=127.0.0.1\SQL2K;Initial Catalog=MyDBA;Integrated
Security=SSPI
;";
for(int i=0;i<10;i++){
strConn +=" "; //空格
SqlConnection conn=new SqlConnection(strConn);
conn.Open();
conn.Close()
}
兩 段代碼分別運行,看企業管理器->管理->進程信息(請刷新先) ,可以看到前面的只啟用了一個進程,而后面的則啟用了10個進程,每個進程對應一條連接.前一段代碼10個open +close()操作使用的是同一個連接池中的同一個連接,而后一個則開啟了10個連接池,每個連接池中有一個連接.

再看下面的代碼
??????????? for (int i = 0; i <= 10; i++)
??????????? {
??????????????? Thread t = new Thread(new ThreadStart(Command));
??????????????? t.Start();
??????????? }
---------------------
//Command定義
private void Command(){
string strConn=" Data Source=127.0.0.1\SQL2K;Initial Catalog=MyDBA;Integrated
Security=SSPI
;";
Sqlconnection conn=new SqlConnection(strConn);
SqlCommand cmd=new SqlCommand("一個運行比較長的查詢",conn);
conn.Open();
cmd.ExecuteNonQuery();
??
conn.Close()
}
運行后可以看,企業管理器->管理->進程信息里會開啟10個到MyDBA數據庫的連接進程,但是需要注意的是,這10個進程是屬于同個連接池的,為了證明這一點你可以將上面的連接字符串改為
private void command(){
string strConn=" Data Source=127.0.0.1\SQL2K;Initial Catalog=MyDBA;Integrated
Security=SSPI
;Max pool Size=5;"; //加了Max Pool Size=5;
SqlConnection conn=new SqlConnection(strConn);
SqlCommand cmd=new SqlCommand("一個運行比較長的查詢",conn);
conn.Open();
cmd.ExecuteNonQuery();
??
conn.Close()
}
結 果可以看到他只開啟了5個到MyDBA數據庫的連接,這證明他們是同個連接池的.當然這里能成功演示的前提是,cmd執行的任務時間要在15秒內,不然會 出現后5個線程連接超時,另外使用SQL2000 的跟蹤工具(SQL2005中是,SQL Server Profiler)是你觀察以上實驗的一個絕好的工具!

sql連接語句中的Integrated Security=SSPI/ture/false 等參數解釋


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 女人被添全过程A片久久AV | 午夜小视频在线观看 | 国产自产在线 | 日本一二区视频 | 天天碰天天摸天天操 | 午夜精品视频在线观看 | 久久99国产亚洲精品观看 | 亚洲一区二区三区久久久 | 四虎天海翼 | a欧美 | 日韩欧美在线观看 | a极毛片 | 国产在线观看中文字幕 | 999热在线精品观看全部 | 国产日韩一区二区三区在线观看 | 国产精品第八页 | 久久久久久久一区二区三区 | 欧美成人性性 | 亚洲精品久久久蜜桃 | 四虎tv在线观看884aa | 丁香花在线电影小说观看 | 天天操 夜夜操 | 精品国产网站 | 国产精品久久久久久52AVAV | 日韩欧美在线观看视频一区二区 | 成人免费在线视频网站 | 日韩欧美亚洲视频 | 色视频在线免费观看 | 成人欧美一区二区三区在线播放 | 人人欧美| 国产中文字幕在线播放 | 天天在线欧美精品免费看 | 三级网址在线播放 | 国产综合一区二区 | 欧美精品成人一区二区三区四区 | 婷婷色香五月激情综合2020 | 午夜不卡一区二区 | 一区二区三区四区免费 | 亚洲一一在线 | 欧美日韩在线免费观看 | 性香港xxxxx免费视频播放 |