今天,我將前天寫的代碼重新編譯,竟出現
Invalid SqlMap.config document. cause :Cannot load schema for the namespace '' - Could not find file "C:\WINDOWS\system32\SqlMapConfig.xsd"
的錯誤.
最後在http://shanyou.cnblogs.com/archive/2005/10/17/256720.aspx
找到瞭解決方法.
1、IBatisNet的設定檔的格式採用了標準的XML的命名空間:
原來的providers.config 檔案
<?xml version="1.0" encoding="utf-8" ?>
<providers>
<clear/>
<provider
……
</providers>
更改為
<?xml version="1.0" encoding="utf-8"?>
<providers xmlns="http://ibatis.apache.org/providers" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<clear/>
<provider
……
</providers>
原來的SqlMap.config檔案 <?xml version="1.0" encoding="utf-8"?>
<sqlMapConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="SqlMapConfig.xsd">
……
</sqlMapConfig>
更改為
<?xml version="1.0" encoding="utf-8"?>
<sqlMapConfig xmlns="http://ibatis.apache.org/dataMapper" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
原來的PO.xml檔案
<?xml version="1.0" encoding="UTF-8" ?> <sqlMap namespace="Sequence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="SqlMap.xsd">
……
</sqlMap>
更改為
<?xml version="1.0" encoding="UTF-8" ?>
<sqlMap namespace="Admin" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
……
</sqlMap>