none
MySQL 連線程式錯誤 RRS feed

  • 問題

  • 各位高手在下有一台WINCE 5.0作業系統的手持裝置

    用VB.NET2008 的  智慧型裝置 專案寫一個MYSQL連線程式

    在下在WIN7下執行時OK

    移植到裝置內部時執行出現 『這個資料流不支援逾時』

    順帶一提 我是連線到PC的MySql

    還有 裝置是以無線網路連線

    在下對這塊是新手

    想請教各位高手該如何解決

    程式碼如下:

    Imports MySql.Data.MySqlClient
    Imports System.Data
    Imports System.Resources
    Imports System.IO

    Public Class Form1
      
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ' 連結 mySQL 資料庫

            Try
                Dim conn As MySqlConnection = New MySqlConnection("Data Source=120.114.136.11; Database=modsystem; User ID=root; Password=123; charset=utf8")
                conn.Open()
                Label1.Text = "資料庫連線成功"
                conn.Close()
                Button_login.Enabled = True
            Catch myerror As MySqlException
                Label1.Text = "資料庫連線失敗"
            End Try

        End Sub

        Private Sub Button_login_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_login.Click
            Dim conn As MySqlConnection = New MySqlConnection("Data Source=120.114.136.11; Database=modsystem; User ID=root; Password=123; charset=utf8")
            conn.Open()
            Dim com As New MySqlCommand("select name FROM user", conn)
            Dim dr As MySqlDataReader = com.ExecuteReader()
            While dr.Read()
                ComboBox_user.Items.Add(dr!name)
            End While
            dr.Close()

        End Sub

    End Class

    2011年7月8日 下午 02:04

解答

  • 感謝各位高手給我意見!!

    在下已經解決了!!

    原來在下有蠢到!! 我的手持裝置WINCE5.0 不支援.NET compact farmework 3.5

    所以只能安裝到 2.0版的

    於是我新建一個智慧型裝置 選擇.NET compact farmework 2.0......

    就解決了 抱歉讓各位搞那麼久  謝謝拉

    • 已標示為解答 zhang2006 2011年7月12日 上午 08:03
    2011年7月12日 上午 08:02

所有回覆

  • default command timeout 設成0 看看

    ;default command timeout=20;

           Dim conn As MySqlConnection = New MySqlConnection("Data Source=120.114.136.11; Database=modsystem; User ID=root; Password=123; charset=utf8;default command timeout=0")


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2011年7月8日 下午 03:36
  • 抱歉高手! 你的方式還是一樣

    2011年7月11日 上午 03:00
  • 高手們! 我剛剛發現 程式在哪一行時會出現這個資料流不支援逾時了

      Try
          Dim conn As MySqlConnection = New MySqlConnection("Data Source=120.114.136.11; Database=modsystem; User ID=root; Password=123; charset=utf8;default command timeout=0")
            conn.Open()
                Label1.Text = "資料庫連線成功"
                conn.Close()
                Button_login.Enabled = True
            Catch myerror As MySqlException
                Label1.Text = "資料庫連線失敗"
            End Try

    在    conn.open()  那行會出現

    我剛剛把這行註解後 是可以執行的

    但問題在哪還不知道

    2011年7月11日 上午 03:36
  • Hi, 

    您先確認一下你用的MySQL connector是哪一個版本的,並確認看看MySQL.Data下面是不是還有一個『CF』的NameSpace,確認這些主要是在CE上面使用的是compact framework,而不是一般環境的full .net framework;另外下面的文章也可以參考

    http://nicholas.piasecki.name/blog/2009/05/connecting-to-a-mysql-database-on-the-net-compact-framework/



    請注意討論區相關規則,良好的討論環境需要大家共同努力、遵守
    2011年7月11日 上午 05:35
    版主
  • 在下使用的MySQL connector版本是 MySQL connector NET 6.3.5

    而MySQL.Data 是有 CF的NameSpace 全名MySQL.Data.CF

    不知道有沒有任何問題呢 各位高手??

    2011年7月11日 上午 05:56
  • Hi,

    在MySQL.Data.CF下面是不是同樣也有connection、command等類別可以使用呢?有的話在程式碼裡面要全面改用CF命名空間下的類別來操作



    請注意討論區相關規則,良好的討論環境需要大家共同努力、遵守
    2011年7月11日 上午 06:13
    版主
  • 感謝!!不過我確定我用的類別 確定都是MYSQL.DATA.CF的底層類別 還是一樣耶

    抱歉 實在找不到哪裡有問題

    下方是錯誤訊息(有點選詳細資料)

    錯誤
    modsystem.exe
    InvalidOperationException
    這個資料流不支援逾時。

    於 System.IO.Stream.get_ReadTimeout()
    於 MySql.Data.MySqlClient.TimedStream..ctor(Stream baseStream)
    於 MySql.Data.MySqlClient.MySqlStream..ctor(Stream baseStream, Encoding encoding, Boolean compress)
    於 MySql.Data.MySqlClient.NativeDriver.Open()
    於 MySql.Data.MySqlClient.Driver.Open()
    於 MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
    於 MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
    於 MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
    於 MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
    於 MySql.Data.MySqlClient.MySqlPool.GetConnection()
    於 MySql.Data.MySqlClient.MySqlConnection.Open()
    於 modsystem.Form1.Form1_Load(Object sender, EventArgs e)
    於 System.Windows.Forms.Form.OnLoad(EventArgs e)
    於 System.Windows.Forms.Form._SetVisibleNotify(Boolean fVis)
    於 System.Windows.Forms.Control.set_Visible(Boolean value)
    於 System.Windows.Forms.Application.Run(Form fm)
    於 modsystem.Form1.Main()

    2011年7月11日 上午 07:35
  • Hi, 我剛剛又看了一下,看起來這是一個曾經出現過的bug,參考下面這篇

    http://bugs.mysql.com/bug.php?id=50321

    而似乎是要修改原始程式碼(我沒用mysql不能測試 Orz),你可以參考這邊

    http://lists.mysql.com/commits/97157

    比對一看,看看是不是可以解決你的問題



    請注意討論區相關規則,良好的討論環境需要大家共同努力、遵守
    2011年7月11日 上午 09:27
    版主
  • 感謝!! 不過還是不知道怎麼改原程式碼  我的MYSQL裡沒有一個可以改的檔案

    不知道還有沒有說明更具體一點的解答 謝謝囉

    在下是新手實在是不太了解


    而且他是說 6.2.X版的 我都用6.3.5版了 耶
    2011年7月11日 下午 01:04
  • 那試試看改 Connection Timeout 好了

    Dim conn As MySqlConnection = New MySqlConnection("Data Source=120.114.136.11; Database=modsystem; User ID=root; Password=123; charset=utf8;default command timeout=0; Connection Timeout=0;")



    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2011年7月11日 下午 06:12
  • 抱歉 好像一樣的問題

    在下有測試過把一台筆電用無線網路練線 然後執行同樣程式  ----OK 沒問題

    放到WINCE的作業系統中就不行了 --------一樣是這個資料流不支援逾時的問題

    在下用VB.NET 建置一個智慧型裝置的專案 是Windows mobile 5.0的裝置

    用一台PDA測試 資料庫是可以連線成功的

    程式碼與本程式相同如下

     Dim conn As MySqlConnection = New MySqlConnection("Data Source=120.114.136.11; Database=modsystem; User ID=root; Password=;default command timeout=0;")
            conn.Open()
            Label1.Text = "資料庫連線成功"
            conn.Close()

    兩者皆用此程式碼 可是WINCE5.0 好像會出現這個資料流不支援逾時的錯誤

    2011年7月12日 上午 03:08
  • 感謝各位高手給我意見!!

    在下已經解決了!!

    原來在下有蠢到!! 我的手持裝置WINCE5.0 不支援.NET compact farmework 3.5

    所以只能安裝到 2.0版的

    於是我新建一個智慧型裝置 選擇.NET compact farmework 2.0......

    就解決了 抱歉讓各位搞那麼久  謝謝拉

    • 已標示為解答 zhang2006 2011年7月12日 上午 08:03
    2011年7月12日 上午 08:02
  • 請問大大,你有做到新增資料、刪除資料或資料表等功能嗎?想請教一下此功能要如何去實現出來?或者其他板上的高手們有相關的資料可以參考或教導!

     

    2011年8月6日 下午 03:41