Как преобразовать объект типа «gupta.sqlbase.data.sqlbaseconnection» в тип «mysql.data.mysqlclient.mysqlconnection»

Я выбрал некоторые значения в SQLBase и хочу импортировать их в MySQL. Но проблема сохраняется, как указано в моем заголовке.

Сценарий таков: мне нужно выбрать только некоторые поля и их значения в 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

person mmr    schedule 23.05.2013    source источник


Ответы (1)


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

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