久久久久在线观看_又色又爽又黄的免费视频播放_一区中文字幕_日韩电影在线播放

今日焦點 焦點資訊 營銷之道 企業報道 淘寶運營 網站建設 軟件開發 400電話
  當前位置: 首頁 » 資訊 » 網站建設 » 正文

IBatis.net連接MySql 問題與故障的解決方案

放大字體  縮小字體 發布日期:2018-02-18  來源:新格網  作者:新格網  瀏覽次數:645  【去百度看看】
核心提示:由于筆者最近在做一個跨數據庫操作的測試,開始做IBatisNet (IBatis.DataMapper.1.6.2/IBatis.DataAccess.1.9.2)+ SqlServer2005的測試時,使用都很順利,但是使用IBatisNet+ MySql(5.1)的時候,卻出現了一些問題。經過努力和網上收集終于解決了,下面把問題和解決

由于筆者最近在做一個跨數據庫操作的測試,開始做IBatisNet (IBatis.DataMapper.1.6.2/IBatis.DataAccess.1.9.2)+ SqlServer2005的測試時,使用都很順利,但是使用IBatisNet+ MySql(5.1)的時候,卻出現了一些問題。經過努力和網上收集終于解決了,下面把問題和解決辦法一一貼出來共享。

問題描述:

1、錯誤提示Check the MySql。

出現這個問題首先請下載mysql-connector-net,如果已經下載并安裝了,繼續檢查IBatisNet的providers.config文件里的MySql 的provider節點的enabled是否設為“true”了,如果設為“true”,繼續檢查provider,官方提供的配置有些使用動態鏈接庫文件版本很老,你需要手動去修改,例:

修改前:

<provider   

      name="MySql"   

      description="MySQL, MySQL provider 1.0.7.30072"   

      enabled="false"   

      assemblyName="MySql.Data,
Version=1.0.7.30072, Culture=neutral,
PublicKeyToken=c5687fc88969c44d" connectionClass="MySql.Data.MySqlClient.MySqlConnection"   

      commandClass="MySql.Data.MySqlClient.MySqlCommand"   

      parameterClass="MySql.Data.MySqlClient.MySqlParameter"   

      parameterDbTypeClass="MySql.Data.MySqlClient.MySqlDbType"   

      parameterDbTypeProperty="MySqlDbType"   

      dataAdapterClass="MySql.Data.MySqlClient.MySqlDataAdapter"   

      commandBuilderClass="MySql.Data.MySqlClient.MySqlCommandBuilder"   

      usePositionalParameters="false"   

      useParameterPrefixInSql="true"   

      useParameterPrefixInParameter="true"   

      parameterPrefix="?" 

      allowMARS="false"      

  />

修改后(加亮這個一定要注意,如果為false,是不能連接數據庫成功的):

<provider 

    name="MySql" 

    description="MySQL,
MySQL provider V6.3.2.0" 

    enabled="true" 

    assemblyName="MySql.Data, Version=6.3.2.0,
Culture=neutral, PublicKeyToken=c5687fc88969c44d"
connectionClass=
"MySql.Data.MySqlClient.MySqlConnection" 

    commandClass=
"MySql.Data.MySqlClient.MySqlCommand" 

    parameterClass=
"MySql.Data.MySqlClient.MySqlParameter" 

    parameterDbTypeClass=
"MySql.Data.MySqlClient.MySqlDbType" 

    parameterDbTypeProperty=
"MySqlDbType" 

    dataAdapterClass=
"MySql.Data.MySqlClient.MySqlDataAdapter" 

    commandBuilderClass=
"MySql.Data.MySqlClient.MySqlCommandBuilder" 

    usePositionalParameters="false" 

    useParameterPrefixInSql="true" 

    useParameterPrefixInParameter="true" 

    parameterPrefix="?" 

    allowMARS="false" 

  />

2、錯誤提示 Unable to open connection to "MySQL, MySQL provider V6.3.2.0"。

出現這樣的錯誤可能是Configure方法指定的配置文件的鏈接字符串有點問題,一下是我的,僅供參考。

<?xml version="1.0" encoding="utf-8" ?> 

<sqlMapConfig xmlns=
"http://ibatis.apache.org/dataMapper" xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"> 

  <!--以上為固定格式,從這里開始以下是用戶配置項    --> 

  <settings> 

    <!-- 該選項指示是否使用緩存,默認為true --> 

    <setting cacheModelsEnabled="true"/> 

    <!-- 當該選項為true時,
你在調用指定的映射時你總是必須給出完整的名稱例如:
queryForObject(“Namespace.statement.Id”);  
 --> 

    <setting useStatementNamespaces="false" /> 

  </settings> 

  <!-- 數據驅動提供類配置文件的路徑和文件名 --> 

  <providers resource="providers.config" /> 

  <!-- 指定一個屬性源,相當與設置一些屬性變量,
該文件請查看下面   --> 

  <!--指定數據源${datasource} ${database}
${userid} ${password}
為Database.config定義的值--> 

  <database> 

    <!--<provider name="ByteFx"></provider> 

    <dataSource name="IBatisNet"
connectionString="Database=zy_test;Data Source=
localhost;User Id=root;Password=1234"/>--> 

    <provider name="MySql"></provider> 

    <dataSource name="IBatisNet"
connectionString="Host=localhost;UserName=
root;Password=1234;Database=zy_test;Port=3306;
CharSet=utf8;Allow Zero Datetime=true"/> 

  </database> 

  <!--指定映射的文件的位置    --> 

  <sqlMaps> 

    <!-- 從程序集中  

        <sqlMap embedded="${root}Person.xml,${assembly}" />--> 

    <!-- 從文件中--> 

    <sqlMap resource="SqlDetailXml/SystemXml/RoleInfo.xml" /> 

    <sqlMap resource="SqlDetailXml/SystemXml/ModuleInfo.xml" /> 

    <sqlMap resource="SqlDetailXml/SystemXml/UserInfo.xml" /> 

  </sqlMaps> 

</sqlMapConfig>

3、錯誤提示 Character set 'gbk' is not supported。

出現此問題,可能你用了底版本的mysql-connector-net,因為在MySQL Connector 1.07中提供的字符編碼是有限的,找到不到web.config中設置的編碼類型,沒有gbk,換個版本高的MySQL Connector 。

 
 
[ 資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 違規舉報 ]  [ 關閉窗口 ]

 
0條 [查看全部]  相關評論

 
網站首頁 | 關于我們 | 聯系方式 | 使用協議 | 版權隱私 | 網站地圖 | 排名推廣 | 廣告服務 | 積分換禮 | 網站留言 | RSS訂閱 | 皖ICP備2021004516號-14
企業800網 · 提供技術支持