首页 新闻 赞助 找找看

在Windows Server 2008 R2上使用IBatis.NET,抛出异常

0
悬赏园豆:20 [已关闭问题]

我以前写了一些程序,用到IBATIS.NET来连接数据库,数据库连接字符串没有错误,路径也没有错误,在我以前的Windows Server 2008上运行没有问题,但是当我系统升级到Windows Server 2008 R2的时候,在安装和运行这个程序,就老是抛出,这个异常:Unable to open connection to "OleDb, provider V2.0.0.0 in framework .NET V2".在网上,搜索了很久,都没有找到答案,只有请教各位了!还有,要说明的是我连接的是Access数据库.

IBATIS.NET的slqmap.config文件如下:

<?xml version="1.0" encoding="utf-8"?>
<sqlMapConfig xmlns="http://ibatis.apache.org/dataMapper" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >

  <!-- Rem : If used via a DataAccess context, properties tag will be ignored -->
  <!--指定从application的根目录进行加载-->
  <!--<properties resource="database.config"/>-->
  <settings>
    <!--
    <setting useStatementNamespaces="${useStatementNamespaces}"/>
    -->
    <setting cacheModelsEnabled="true"/>
    <setting validateSqlMap="true"/>
    <setting useStatementNamespaces="false"></setting>
  </settings>

  <!-- Optional if resource -->
  <!--<providers  resource="../VodIC.Service/providers.config"/>   -->
  <!--embedded指定文件可以作为程序集的资源文件进行加载-->
  <!---->
  <providers embedded="HENU.IISCompanion.Service.providers.config,HENU.IISCompanion.Service"/>
  <!-- ==== SqlClient configuration ========= -->
  <!-- Rem : If used via a DataAccess context, database tag will be ignored -->
  <database>
    <provider name="OleDb1.1"/>
    <!--<dataSource name="VodDatabase" connectionString="user id=${username};password=${password};data source=${datasource};database=${database};Integrated Security=${sspi};Connect Timeout=30;"/>-->
    <dataSource name="Access" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="/>
  </database>

  <sqlMaps>
    <!-- user via embedded-->
    <!---->
    <sqlMap embedded="HENU.IISCompanion.Service.Maps.WebSite.xml,HENU.IISCompanion.Service"/>
    <sqlMap embedded="HENU.IISCompanion.Service.Maps.FtpSite.xml,HENU.IISCompanion.Service"/>
    <sqlMap embedded="HENU.IISCompanion.Service.Maps.FtpVirDir.xml,HENU.IISCompanion.Service"/>
    <sqlMap embedded="HENU.IISCompanion.Service.Maps.ServerInfo.xml,HENU.IISCompanion.Service"/>
  </sqlMaps>
</sqlMapConfig>

IBATIS.NET的providers.config文件如下:

<provider name="OleDb1.1"
   description="OleDb, provider V1.0.5000.0 in framework .NET V1.1"
   enabled="true"
   assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
    connectionClass="System.Data.OleDb.OleDbConnection"
   commandClass="System.Data.OleDb.OleDbCommand"
   parameterClass="System.Data.OleDb.OleDbParameter"
   parameterDbTypeClass="System.Data.OleDb.OleDbType"
   parameterDbTypeProperty="OleDbType"
   dataAdapterClass="System.Data.OleDb.OleDbDataAdapter"
   commandBuilderClass="System.Data.OleDb.OleDbCommandBuilder"
   usePositionalParameters="true"
   useParameterPrefixInSql="false"
   useParameterPrefixInParameter="false"
   parameterPrefix=""
    allowMARS="false"   
    />
  <provider name="OleDb2.0"
    description="OleDb, provider V2.0.0.0 in framework .NET V2"
    enabled="true"
    assemblyName="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
    connectionClass="System.Data.OleDb.OleDbConnection"
    commandClass="System.Data.OleDb.OleDbCommand"
    parameterClass="System.Data.OleDb.OleDbParameter"
    parameterDbTypeClass="System.Data.OleDb.OleDbType"
    parameterDbTypeProperty="OleDbType"
    dataAdapterClass="System.Data.OleDb.OleDbDataAdapter"
    commandBuilderClass="System.Data.OleDb.OleDbCommandBuilder"
    usePositionalParameters="true"
    useParameterPrefixInSql="false"
    useParameterPrefixInParameter="false"
    parameterPrefix=""
    allowMARS="false"
    /> 

请指教。

小李北漂的主页 小李北漂 | 初学一级 | 园豆:176
提问于:2009-11-15 10:34
< >
分享
其他回答(2)
0

Windows Server 2008 R2应该是只有x64的,Access在x64下好像是有些问题,把项目的生成平台指定为x86,再重新生成试试。

sanduo | 园豆:215 (菜鸟二级) | 2009-11-15 12:56
谢谢您的答案,您的答案给我一个很好的思路,问题已经解决。
支持(0) 反对(0) 小李北漂 | 园豆:176 (初学一级) | 2009-11-15 16:06
0

     你首先也还试试 把那个  连接数据库的  字符串  换为   绝对路径试试  ,

     如果没问题就不是这个原因

    如果有问题可能是这个地方相对路径的写法还是有问题 。 然后去百度下  

   我有次就是这里出啦问题   ,, 路径 写法 具体查下

胖老虎 | 园豆:207 (菜鸟二级) | 2010-11-16 09:07
0

怎么解决的?

相知技术 | 园豆:162 (初学一级) | 2013-05-24 16:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册