cc# 關於在vs2010中如何連線資料庫sql server2008的問題
類似於這樣一段**(在vs中建立窗體程式,做乙個按鈕判斷是否連上了資料庫),關於連線的問題,我記錄如下:
private void button1_click(object sender, eventargs e)
1、 string sqlstr = 「data source=win-16dm53kenea\sqlexpress;intial catalog=demo1; integrated security=true;」;
解釋:直接寫機器名,然後打兩個斜槓,寫上sqlexpress。
這是連線資料庫的字串。
data source(資料來源)為「機器名\下面的資料庫伺服器」,express是乙個sql的免費版本,亦或是vs自帶這樣,如果你裝的是企業版,就沒這挖格,如果你是隨便裝的,都是預設選項,可能就有,沒關係,一開始,咱用的都是小型專案,不影響;\sqlexpress是必須要有兩個斜槓的,因為乙個\代表轉義字元;
intial catalog(最開始的目錄)為「資料庫」,你可以寫上你新建的資料庫的名字,它跟database沒有什麼區別,就跟曾用名和現在的名字,是乙個概念,都是叫你;
integrated security(綜合安全設定),可識別的值為 true、false、yes、no 以及與 true 等效的 sspi(強烈推薦)。填上true,表示用當前windows賬戶憑據進行身份驗證;填上false,將在連線中指定使用者 id 和密碼;填上sspi,表示以當前windows系統使用者身去登入sql server伺服器;
這三個部分,只寫data source=win-16dm53kenea\sqlexpress; integrated security=true;也是可以連線資料庫的……
2、 string sqlstr = 「data source=.\sqlexpress;intial catalog=demo1; integrated security=true;」;
.表示本機的機智寫法,多省事啊……
3、 string sqlstr = 「data source=(local)\sqlexpress;intial catalog=demo1; integrated security=true;」;
local,這個單詞就是本地的意思,注意要打括號;
4、 string sqlstr = 「data source=localhost\sqlexpress;intial catalog=demo1; integrated security=true;」;
localhost,等同於(local),注意不打括號,可以理解為本地伺服器,localhost&(local)是不經網絡卡傳輸!這點很重要,它不受網路防火牆和網絡卡相關的的限制。訪問localhost也不會解析成ip,不會占用網絡卡、網路資源。
以上適用於sql server資料庫的訪問模式為windows認證的情況。
5、string sqlstr = 「server=127.0.0.1;database=demo1; user id=sa; pwd=123456;」;
127.0.0.1在系統的正確解釋是:本機位址(本機伺服器);127.0.0.1是需要通過網絡卡傳輸,依賴網絡卡,並受到網路防火牆和網絡卡相關的限制;這就是為什麼有時候用localhost可以訪問,但用127.0.0.1就不可以的情況。
user id,使用者id;
適用於sql server資料庫的訪問模式為sql server認證的情況。
6、string sqlstr = 「server=192.168.43.156;database=demo1; user id=sa; pwd=123456;」;
填寫自己的本機ip,也是可以訪問的。
另外補充一下資料庫預設埠號:
sql server 1433
oracle 1521
mysql 3306
如果無法訪問資料庫,檢查幾個地方:
1、如果local不起作用,試試sql server配置管理器中sql server網路配置的sqlexpress的協議中,上面三個已啟用,shared memory,named pipes,tcp/ip;
2、如果127.0.0.1不起作用,試試在sql server配置管理器中sql server網路配置的sqlexpress的協議中,雙擊tcp/ip,彈出屬性框,選到ip位址,下面有乙個已啟用,把它開啟試試。
3、如果localhost不起作用,試試在sql native client10.0配置中新建乙個別名。
attention:所有操作都需要停止,再啟動sql server。
by the way:我不認為先裝sql server,或者先裝vs,會對最後結果有影響,畢竟都是同一家公司出來的產品,相容性應該是蠻好的,當然也有可能在登錄檔當中沒刪乾淨,導致不能安裝等問題,總而言之,現在這一把,我是先裝的vs2010,再裝sql server2008的。
留個爪印,以待後面不記得了的時候,翻一翻。
補充一下:有人之前一直挺好的,突然有一天,sql server連不上了……
彈出如下框框:
資料庫內部都可以正常連線,操作,考慮前陣子正常連線,是突然出現的問題;所以可能是設定出了問題,或者軟體衝突。
檢查lsp:
系統的 winsock 設定,重置一下
win+r鍵,輸入cmd確定,然後輸入重置命令:netsh winsock reset
問題解決……
powerdesigner連線資料庫的問題
1.jvm不能初始化 要求安裝32位的jdk,把path指向32的安裝目錄 2.non sql error could not load class oracle.jdbc.oracledriver 把odbc14.jar包放到powerdesigner安裝目錄,後加入classpath 3.non...
Qt 在vs下連線資料庫SQL server
qt 連線sql server在網上有很多教程,但是我是在vs2013下編譯qt程式,所有還有一些不一致的地方,倒騰了大半天,寫下來給有需要的朋友。在本地資料來源進行設定一般不會出什麼問題,主要講講動過 怎麼設定。qsqldatabase db qsqldatabase adddatabase qo...
在VS中利用配置檔案連線資料庫
一 在web.config裡面配置,後連線資料庫 1 web.config檔案 加在和 之間 三種配置方式 1.windows身份驗證,連線sql server資料庫 2.windows身份驗證,連線vs資料庫 3.sql server身份驗證,連線sql server資料庫 取字連線符串方式 1 ...