初探SQL Server CE + Codesmith用法
硬碟壞了也是一種契機,我突然想到了SQL Server還有一個CE版本,現在不止提供For Mobile的,還提供桌面版.這種可愛的嵌入式資料庫可比沒意思的Access好得多了. 這東西雖然沒store function(其實有ORM基本沒必要用),但是索引啊,表關係啊還是很全面的.微軟的東西就是好,造福全懶人嘛..
然而我的資料庫原來是Access的,在網上找了半天工具只找到一個SQL To SQL Ce的工具.於是用Access的升遷嚮導升遷到MS SQL,然後在MS SQL Server裡面建立表關係.然後用那個工具匯入到SQL CE裡面. 然後又自己編譯了一個Codesmith的資料庫Schema provider(因為以前這個是for 4.0的,而我的是5.0).
那個遷移工具貌似有點問題,沒有把表關係完全copy過去,自己的SQL Menagement Studio版本可能太低,不能開啟3.5的CE資料庫.結果用Codesmith就沒法生成我要的關係.不爽.想到NHibernate其實對於表關係是不依賴於資料庫的,只要有表就可以了,所以想到一個特別二的方法,就是用MS SQL做Codesmith的資料來源,生成檔案,而程式中則使用遷移後的CE資料庫.(其實感覺直接用MS SQL Server也可以,最後釋出的時候換CE)
不過最鬱悶的事情是在使用NHibernate進行測試的時候,居然提示我某個查詢不能執行,而我在VS 2008的資料庫的查詢裡面那個查詢是可以執行的SELECT this_.ID as ID2_0_, this_.BookName as BookName2_0_, this_.LangID as LangID2_0_ FROM dbo.Book this_ 我實在是很無奈啊,找錯誤NHibernate扔出來的異常的InnerException也看不出什麼來,我就自己用ADO寫了一個
最後這東西提示表名異常,我一檢查表名,想起由於是SQL Server生成的,帶著個dbo.字首,發現生成的NHibernate的配置檔案
其中存在dbo.,去掉之後正常,於是更改Codesmith的這個模板.把table.FullName改成table.Name,生成後配置檔案正確,而後重新生成一遍,編譯.過了. 我從下午5點開始折騰,一直折騰到11點,總算把這些問題解決了,希望CE這東西可以好好工作...
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-611876/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 初探SQL Server MDXSQLServer
- SQL Server新老版本CE區別SQLServer
- sql server with ...as 用法SQLServer
- Sql server with as update用法SQLServer
- sql server convert用法SQLServer
- SQL Server 2005 Service Broker 初探SQLServer
- SQL Server中@@ROWCOUNT的用法SQLServer
- sql server merge 的用法SQLServer
- SQL Server中distinct的用法SQLServer
- SQL Server CE和SQL Server 2000/2005中的ISNULL函式的異同SQLServerNull函式
- Sql Server Rollup 語句的用法SQLServer
- 初探SQL Server 2008 Change TrackingSQLServer
- sql server select case when的用法SQLServer
- SQL Server中的dbcc page命令用法SQLServer
- SQL Server中的dbcc ind命令用法SQLServer
- SQL Server中的鎖型別及用法SQLServer型別
- Sql server 2005中output用法解析SQLServer
- SQL?Server新特性SequenceNumber用法介紹YTZBSQLServer
- SQL server 中SUBSTRING()以及CONVERT()的用法SQLServer
- [zt] SQL Server管理員必備的DBCC用法SQLServer
- 初探SQL Server 2008線上事務處理功能SQLServer
- go Sql 初探GoSQL
- SQL Server中row_number函式的常見用法SQLServer函式
- Flink SQL Client初探SQLclient
- CodeSmith 一、連線MysqlMITMySql
- CodeSmith生成實體類MIT
- SQL AS 的用法SQL
- sql用法——group bySQL
- SQL——STUFF用法SQL
- SQL in ORACLE and SQL ServerSQLOracleServer
- sql ServerSQLServer
- Kettle: pentaho-server-ce-9.4 : ERROR [SchemaUpdate] could not get database metadataServerErrorDatabase
- sql server 2005中的分割槽函式用法(partition by 欄位)SQLServer函式
- 【原創】Apache HTTP Server認證初探ApacheHTTPServer
- SQL Server連線SQL Server、SQL Server連線ORACLE 連結伺服器SQLServerOracle伺服器
- SQL Server常用工具——SQL Server Powershell ExtensionsSQLServer
- SQL groupby sum 用法SQL
- Oracle sql trace用法OracleSQL