因為我現在還是用VS2003所以只能使用3.1的版本。以前都是使用2.6版本。現在發現都有破解程式了,呵呵方便多了。
寫過《設定了一下CodeSmith可以串連Oracle資料庫了》是CodeSmith2.6的關於Oracle Provider的文章。
現在用了3.1當然也碰到同樣的問題。
解決辦法:進入CodeSmith的Community,http: //community.codesmithtools.com/files/9/schemaproviders/default.aspx,在這個檔案夾中有一個Oracle Schema Provider,下載下來自己編譯就行了。
如果用下載的檔案直接使用,在CodeSmith Studio中可能找不到Oracle Provider。
解決辦法就是開啟原始碼,進行編譯。可能會提示SchemaExplorer.dll無法找到。因為OracleNativeSchemaProvider是出現在CodeSmith的SchemaExplorer中的,所以要將原Source引用的 SchemaExplorer.dll排除,把CodeSmith3.x安裝位置(C:\Program Files\CodeSmith\v3.0\AddIns)中的SchemaExplorer.dll引入,重新編譯並將編譯後的SchemaExplorer.OracleNativeSchemaProvider.dll與原下載的SchemaExplorer.OracleNativeSchemaProvider.dll.config
檔案一起放入C:\Program Files\CodeSmith\v3.0\SchemaProviders (or equivalent) folder:中,終於在CodeSmith的SchemaExplorer中能夠添加OracleProvider了。
說明:這種方法應該能適應大部分的CodeSmith,即下載相應的源檔案(版本有點差距問題不大,但如果它的介面整個變化了,那就另尋找響應版本把),引入安裝檔案中的SchemaExplorer.dll,重新編譯,如果成功,則可得到相應版本的 SchemaExplorer.OracleNativeSchemaProvider.dll。再放入相應的檔案夾中就可以。
我提供一下原代碼得了,不然去那邊下載挺麻煩的。希望能方便大家。
OracleNativeSchemaProvider.rar
漢字不支援的解決辦法:
開啟CodeSmith Studio設定CodeSmith tools->option->enable unicode support
然後在模板中: 加上ResponseEncoding="UTF-8" 如下:
<%@ CodeTemplate Language="C#" ResponseEncoding="UTF-8" %>