2009年10月24日 星期六

SQL Server 2008

為了建環境,反覆安裝了SQL Server 2008 Express 及 Standard不下十次,每次裝完不是錯誤就是連不進去
裝的過程錯誤,後來發現是光碟中某幾個檔案壞掉造成每次裝到那裡就錯誤
裝SQL Server 2008 Express裝成功,但連不進去的問題原來是「執行個體」名稱的問題
Standard或Enterprise預設皆以伺服器主機名稱當作執行個體名稱
程式的連線指令就是"Server=xxx.xxx.xxx.xxxIP位置;........"
但Express預設卻以SQLEXPRESS當作執行個體名稱
本機用ssms連線時,要改以ServerName\SQLEXPRESS來登入才有效。光是這樣還是無法使用,Express預設是無法網路連線,真的是#EW#$#@#。建立環境請依照下列程序辦理:

(以SQL Server2008express為例)
0.先裝好.net framework3.5 SP1, 若有裝Visual Studio 2008者,請先上到sp1, powershell,Install什麼鬼的
1.安裝你的DBMS(最好中間不要有什麼錯誤,注意一下執行個體是指定的或是預設的)
2.裝完後用ssms(SQL Server Management Studio)檢查一下是否可以連進去
3.用SQL Server 的組態管理員修改一下「SQL Server網路組態」中的「TCP/IP」設定為「啟用」
4.若需要網路連線者,請開啟「SQL Server Browser」把它的啟動設定成「自動」這步很重要,卡在這卡很久。
做完3、4二步驟需重新啟動SQL Server的服務(在組態管理員裡即可搞定)
5.開防火牆的設定,讓以下二支放行(注意一下32位元和64位元實際位置可能不一樣)
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe
C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe
6.用其他台電腦嘗試連進去看是否可以連線(要記得設可登入的帳號)

如果你裝EXPRESS是用預設值裝的話,程式的連線字串可能會變成
"server=xxx.xxx.xxx.xxx\EXPRESS;......"
如果是SQL Server的話則是
"server=xxx.xxx.xxx.xxx;......"

二者不太一樣(花了好久才搞清楚)

2009年10月5日 星期一

SQL

顯示該database的table資訊
MS SQL Server
select * from information_schema.TABLES;
MySQL
show columns from TABLES....
show columns from databases