㈠ sqlserver2000與sqlserver2005和2008 jdbc連接的不同寫法
在SQL Server 2000 中載入驅動和URL路徑的語句是 String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample"; 而SQL Server 2005 中載入驅動和url的語句則為 String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample"; 可以看出版本不同連接方法也是不同的。SQL Server有許多不同版本,看你用的是哪個了。
㈡ SQLServer存儲多語言數據的幾種方法
一般的,如果是普通的項目型軟體,就比較簡單了,你只需要設計出固定的 ChineseName和EnglishName欄位就可以了。本文並不討論這種形式,而是討論在大型平台化的ERP軟體中如何實現通用化的多語言存儲和讀取。 子表方式第一種方式是建立一張子表,U9大概就是這個樣子,你需要注意的是,每一個實體如果包含多語言欄位,都會出現以_Trl為後綴的表。也許你會覺得麻煩,其實不然,這些都是平台在後台自動處理了,你僅僅需要標記這個欄位是多語言欄位就可以了。 從理論上來說,他的存儲是最符合資料庫設計原則的,不管你的系統使用多少語言,資料庫結構是不變的。但是我總覺得查詢起來SQL會比較復雜,雖然這事平台也會幫助你完成。我在想,如果我要一個多語言策略如何實現呢?多語言策略的例子:如果此欄位沒有對應的繁體中文,取簡體中文,如果還沒有,取默認的語言內容。那麼在一個SQL中如何實現呢? 數據結構是一樣的,唯一的區別是通過ORM屏蔽了資料庫的結構,在設計實體時,你僅僅設計了Name欄位,其類型是「多語言類型」,然後在客戶那裡初始化時,客戶可以決定採用多少種語言,然後ORM在後台自動添加這些列。 這是我希望的設計,因為他足夠的簡潔,任何人都可以非常方便的寫出SQL語言。而且執行起來一定是最高效的。而且實現上面說的取值策略也很容易,只需要實現編排好多個嵌套的IIF函數就是了。 缺點呢?當然有,首先冗餘很大,即使沒有填寫對應的英文,一樣要佔用一個空間。其次,如果客戶發神經,一下子選擇了十幾個語言,然後發現他並不需要,又想刪除掉?那麼我需要檢查資料庫的所有相關欄位是否全部沒有數據,才能決定可以刪除這個語言並刪除所有相關的欄位。這是個問題。 XML欄位這種方式我就不畫圖了,很簡單,還是只有一個欄位Name,不過數據類型不是nvarchar,而是把定義成XML類型,這是SQLServer2005新增的類型,我們可以在此欄位存儲諸如下面這樣的數據:12345<items<itemlng=VALUE=默認/<itemlng=CHSVALUE=中文/<itemlng=ENVALUE=English/</items SelectEmployeeId,Name.value(』(/items/item[@lng="CHS"]/@value)[1]』,』nvarchar(max)』)FROMEmployees 很簡單,我喜歡。 不過有人可能會說,其實沒有xml類型前,我就已經使用nvarchar來實現了,使用一個自定義函數一樣可以解決(使用諸如:/en/english /chs/中文的方式存儲)。但是我認為字元串方式處理並不完美,主要表現在你必須自己小心處理特殊字元,否則很容易亂套。使用XML類型的話資料庫會處理這些。另外,SQL Server對XML類型的查詢有優化處理,比起SQL自定義函數運行的速度要快的多。
㈢ 在繁體系統下,代碼寫入SQLSERVER的繁體漢字字元有些會變成亂碼""。大家幫忙給看下。(見補充說明)
是所有繁體漢字都亂碼,還是極個別的有亂碼?
確定幾個地方:
1.運行exe的windows操作系統是繁體?
2.出現亂碼的字串是什麼?
3.table的欄位,是nvarchar或nchar嗎?
㈣ sqlserver2005中為什麼不能輸入漢字
經測試, 發現有這樣的問題:
如果你的某個列使用了default( 例如上面提到的 uniqueidentifier 列做標識列, 大概是使用了NEWID()做默認值吧)
則你在輸入數據時, 一般是不輸入有默認值的列的值的, 這時候, 當你錄入一行, 移動到下一行時, 最左邊的標志列會有一個紅色的錯誤標志, 移動到該條記錄時, 下面的狀態會顯示"該單元格是只讀的"
出現這種情況時, 你就無法錄入中文了
原來如此:id標識列如果是表的第一列,那麼以browser的形式打開時,游標自然放到(1,1)
如果把id放到表的最後一列的話,就不會出現此問題。
㈤ 如何查SQLSERVER2005的版本
如何查看SQL Server 2005版本號
連接到該實例時在 sql server Management Studio 的對象資源管理器中查看。
方法一:打開sql server Management Studio的菜單「幫助」——「關於」,即可查看到版本。
方法二:通過對資料庫引擎實例執行查詢 T-SQL 語句:
SELECT SERVERPROPERTY('proctversion'), SERVERPROPERTY ('proctlevel'), SERVERPROPERTY ('edition')
下列出了SQL SERVER 2005的版本對應的版本號:
SQL Server2005 RTM 9.00.1399 RTM
SQL Server2005 SP1 9.00.2047 Service Pack 1
SQL Server2005 SP2 9.00.3042 Service Pack 2 Original
SQL Server2005 SP2 9.00.3043 Service Pack 2 Refresh
SQL Server2005 SP3 9.00.4035 Service Pack 3
㈥ SQLServer2005怎麼設置區分大小寫
區分大小寫:
alter database 資料庫 COLLATE Chinese_PRC_CS_AS
㈦ 怎麼修改sqlserver2005的編碼方式嗎
碼有特殊性,僅僅在rails中使用utf8編碼,和把全部rails項目文件格式改成utf8之外,還是不夠的。僅僅這樣做,只是部分中文字元能夠正確處理,而且存入sql server2000中的中文數據,也完全是亂碼。正確的配置方法應該如下。
1. ms sql server2000中數據欄位全部要選擇成n打頭的類型,比如ntext,nvarchar等。
2.安裝ADO Driver
安裝one -click installer 來安裝ruby 的話就已經安裝了所有連接SQL Server使用的需求包.但是,並沒有安裝ADO Driver.
這樣來安裝它:
在Ruby目錄下找到這個目錄: \ruby\lib\ruby\site_ruby\1.8\DBD .例如:我的Ruby安裝在D:\ruby中,所以是這個目錄D:\ruby\lib\ruby\site_ruby\1.8\DBD 在該目錄中創建一個ADO文件夾. 下載Ruby-DBI,將lib/dbd_ado/ADO.rb文件拷貝到X:/ruby/lib/ruby/site_ruby/1.8/DBD/ADO/ADO.rb
3. 配置database.yml:Java代碼
development:
adapter: sqlserver
database: database_name
host: server_name
username: user_name
password: your_pw_here
development:
adapter: sqlserver
database: database_name
host: server_name
username: user_name
password: your_pw_here
4.在environment.rb添加下面代碼
require 'win32ole'
WIN32OLE.codepage = WIN32OLE::CP_UTF8
在這里稍微解釋下第四部分的設置。sql server 2000中使用的unicode 並非是utf8,ado的默認鏈接編碼都是當前系統設置的code pages相關的。
一般的windows設置都是非unicode的,比如簡體中文windows系統下一般都是gb2312, 在rails中database.yml設置encoding: utf8,對於sql server沒有任何用處。
為了迫使sql server接受utf8數據,必須修改ado鏈接的code pages值為utf8,才能讓ado部分代碼在接受rails傳入的utf8數據之後,不做任何額外的處理. 否則的話,ado部分代碼會根據當前系統的默認code pages值來處理這里字元數據。
於是在中文windows系統上,從utf8的rails項目中傳入的數據,會被當作gb2312編碼的數據來傳遞到sql server2000中,於是sql server2000中存入的數據會成為亂碼,也有部分數據在處理過程中出錯,導致sql 語句執行出錯。比如常見的中文字元右邊的單引號會不見的情況。
不設置 WIN32OLE.codepage = WIN32OLE::CP_UTF8,你的整個系統編碼配置是這樣的
rails(utf8)<-->ado(根據當前系統cp來取得編碼,或是gb2312或是其他)<-->sql server 2000 (unicode)
整個系統編碼不一至
WIN32OLE.codepage = WIN32OLE::CP_UTF8 這句代碼就是為了更改cp值.整個系統編碼配置是這樣的
rails(utf8)<-->ado(utf8)<-->sql server 2000 (unicode)
整個系統編碼一至,整個系統中不會再出現任何亂碼.
㈧ sqlserver2005有多少個版本每個版本有什麼不同之處
Express是速成版,是個輕量級的資料庫系統,免費。如果你進行的是開發工作,而不是對外提供非常專業資料庫服務,並且不是圍繞著資料庫進行開發,資料庫只是搭配其它程序使用,那麼這個版本就夠了。
Workgroup即工作站版,相比速成版,提供了完整的圖形管理界面(速成版需要額外安裝)和更豐富的服務,可以承擔小型伺服器的資料庫服務。
Standard即標准版,基本已經可以滿足企業級用戶的需求。注意,Standard是XP上可以安裝的最強MS SQL版本了。
Enterprise是企業版,只能安裝在伺服器版本的操作系統上,除了不對外發售的資料庫中心版,是最強的版本了,功能非常強大。注意,資料庫中心版你需要直接向微軟訂購(下載是很難滴~)。
更加詳細的資料你可以自己查閱
http://technet.microsoft.com/zh-cn/library/ms143761.aspx
再追加一句:還有個開發版,擁有企業版的全部功能,可以安裝在XP上,但是不能直接用於商業服務(版權原因)。
㈨ SqlServer2005根據時間查詢
你好:
你的2個語句本身條件就不一樣啊。。
第二個范圍 要大很多
你看看你搜索出來的記錄 date范圍是 '2010/2/1' 到 '2010/1/31'的吧、、、
㈩ SqlServer2005資料庫 韓文信息保存出現亂碼怎麼解決求救!!!
安裝SQLSERVER2005的時候選擇相應字元集,我不熟韓文的,應該用UTF8可以的。