Не могу подключиться к interbase через VB.NET

Я довольно новый в VB.NET.

я пытаюсь подключить базу данных INTERBASE (локально) и получить ошибку:

Я перепробовал много вещей и ничего не помогло. не могу понять, что я делаю неправильно или пропустил

Imports FirebirdSql

Public Class Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim query As String = "select * from EMPLOYEE"
    Dim csb As FbConnectionStringBuilder
    Dim cnn As New FbConnection

    csb = New FbConnectionStringBuilder()
    csb.DataSource = "LOCALHOST"
    csb.ServerType = 0
    csb.Database = "c:\db\office.gdb"
    csb.UserID = "SYSDBA"
    csb.Password = "masterkey"

    cnn = New FbConnection(csb.ToString)

    Dim da As New FirebirdSql.Data.FirebirdClient.FbDataAdapter(query, cnn)
    Dim ds As New DataSet
    Dim dt As New DataTable

    Try
        cnn.Open()
        da.Fill(dt)
        cnn.Close()
        cnn.Dispose()

        Dim ans As String

        If dt.Rows.Count > 0 Then
            For Each row As DataRow In dt.Rows
                ans = Convert.ToString(row.Item(1))
                TextBox1.Text = ans
            Next
        Else
            TextBox1.Text = "Record Not Found"
        End If
    Catch ex As Exception
        MessageBox.Show("Error: " & ex.Message, "Error")
    End Try

End Sub
End Class

2 ответа

Вы не можете использовать FirebirdClient подключиться к InterBase. Firebird и InterBase - это не одно и то же.

Так...!!! Покопавшись в сети, я наконец заработал!

  1. Установленный "Firebird_ODBC_2.0.3.154_Win32.exe" скачан с http://www.firebirdsql.org/en/odbc-driver/

  2. исправил мой скрипт:

    Dim query As String = "select * from EMPLOYEE"
    Dim cnn As New Odbc.OdbcConnection()
    Dim estring As New Odbc.OdbcConnectionStringBuilder("DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME=128.1.7.81:C:\office\db\office.gdb;")
    cnn = New OdbcConnection(estring.ToString)
    
    Dim da As New OdbcDataAdapter("select * from EMPLOYEE", estring.ToString)
    Dim ds As New DataSet
    Dim dt As New DataTable
    
    Try
        cnn.Open()
        da.Fill(dt)
        cnn.Close()
        cnn.Dispose()
       ' (and so one).....
    

Связь установлена ​​и я счастлив! Вы были правы в отношении.NET OLE DB Provider для Firdbird (не работает с Interbase), спасибо всем за помощь.

Я надеюсь, что эта тема поможет другим с этой проблемой.

Другие вопросы по тегам