2013-05-23 8 views
0

Я выбрал некоторые значения в SQLBase, и я хочу импортировать их в MySQL. Но проблема сохраняется, как указано в моем названии.Как наложить объект типа 'gupta.sqlbase.data.sqlbaseconnection' на тип 'mysql.data.mysqlclient.mysqlconnection'

Сценарий таков: Мне нужно выбрать только некоторые поля и их значения в SQLBase и вставить их в MySQL. Как импортировать данные sqlbase в mysql?

Вот мой код:

 Dim conn As New SQLBaseConnection("DB=Source;SERVER=SERVER1;UID=SYSADM;PWD=password;INI=C:\Program Files\Gupta\SQLBase901\sql.ini") 
    Try 
     conn.Open() 
     Dim adaptor As New SQLBaseDataAdapter 
     Dim ds As New DataSet 
     adaptor.SelectCommand() = New SQLBaseCommand("SELECT * FROM PERSON WHERE TYPE='E'", conn) 
     ds = New DataSet() 
     adaptor.Fill(ds, "ID") 
     Dim datTable As DataTable = ds.Tables("ID") 

     Dim id, type, name, proximity, department, section, costCenter, lastName, firstName, midName, company As String 

     If datTable.Rows.Count > 0 Then 

      For i As Integer = 0 To datTable.Rows.Count - 1 

       id = datTable.Rows(i)(0) 
       type = datTable.Rows(i)(1) 
       name = datTable.Rows(i)(8) 
       proximity = datTable.Rows(i)(33) 
       department = datTable.Rows(i)(51) 
       section = datTable.Rows(i)(58) 
       costCenter = datTable.Rows(i)(55) 
       firstName = datTable.Rows(i)(3) 
       midName = datTable.Rows(i)(4) 
       lastName = datTable.Rows(i)(5) 
       company = datTable.Rows(i)(50) 

       Insert201(id, type, name, proximity, department, section, costCenter, lastName, firstName, midName, company, conn) 
       i += 1 
       Application.DoEvents() 

      Next 

     End If 
     conn.Close() 
    Catch ex As Exception 
     'TextBox1.Text = ex.Message 
    End Try 

Затем на другой суб прок я называю это:

Public Sub Insert201(ByVal id, ByVal type, ByVal name, ByVal proximity, ByVal department, ByVal section, ByVal costCenter, ByVal lastName, ByVal firstName, ByVal midName, ByVal company, ByVal conn) 

    Dim Query As String 

    Query = "INSERT INTO tbl_201 VALUES ('" + id + "','" + type + "','" + name + "','" + proximity + "','" + department + "', '" + section + "', '" + costCenter + "','" + lastName + "', '" + firstName + "', '" + midName + "','" + company + "')" 

    Try 
     conn.Open() 
     Dim sql As MySqlCommand = New MySqlCommand(Query, conn) 
     sql.ExecuteNonQuery() 
     'MsgBox("Record is Successfully Inserted") 
     conn.Close() 
    Catch ex As Exception 
     conn.Close() 
     MsgBox("Record is not Inserted" + ex.Message) 
    End Try 

End Sub 

ответ

0

Насколько я могу видеть из вашего вопроса, вам не нужно делать, как вы - спросил он. Литье SQLBaseConnection на MySQLConnection не поможет (и насколько мне известно, это даже невозможно). Вам необходимо установить новое соединение типа MySQLConnection для подключения к базе данных MySQL, а затем предоставить этот объект подключения вашему методу Insert201. Если вам нужна помощь в создании второго объекта подключения, обратитесь к this StackOverflow question and answer.

+0

Я видел ошибку ... большое спасибо. Я предоставил свой MySQL-запрос с подключением SQLBase, поэтому он дал эту ошибку. – mmr