G
Guest
Dear All,
I am "trying (struggling) to" create an user interface with VB.NET that
will allow me to connect to existing Acess databases through ODBC as well as
OLEDB. Due to many reasons I do not wish to hard code the
connection strings.
I am using the Data Link API to obtain the connection strings at run time.
The codes works fine with OLEDB to connect and run queries but with ODBC it
generates a system error.
I simply CANNOT figure out the following:
1. What is wrong with the ODBC connection string?
2. Why the same logic/code works with OLEDB and not with ODBC as the
connection string is obtained in similar way?
I am at the end of my patience and might end up doing something desperate.
If any kind hearted person is listening --please help.
Please find the codes below:
Thanks & Regards,
Mark
'Getting the Connection String
Dim udl As String = Application.StartupPath & "\Data.udl"
IO.File.Delete(udl)
IO.File.Create(udl).Close()
Process.Start(udl).WaitForExit()
Dim sw As New IO.StreamReader(udl)
sw.ReadLine()
sw.ReadLine()
Dim conn As String = sw.ReadToEnd
sw.Close()
'Display the Connection String in a Text Box.
txtConnection.Text = Conn
Conn = (Conn.Trim)
dt = New DataTable
If InStr(Conn, "MSDASQL", CompareMethod.Text) = 0 Then
Dim nwindConn As OleDb.OleDbConnection = New
OleDb.OleDbConnection(Conn)
nwindConn.Open()
schemaTable =
nwindConn.GetOleDbSchemaTable(OleDb.OleDbSchemaGuid.Tables, _
New Object() {Nothing,
Nothing, Nothing, "TABLE"})
nwindConn.Close()
Else
MsgBox("ODBC Connection")
Dim co1 As New Odbc.OdbcConnection(Conn.Trim)
'The code works fine till this point. It creates a system error in the next
line.
co1.Open() ' System Error is created here.
Dim cm As Odbc.OdbcCommand = New Odbc.OdbcCommand("", co1)
schemaTable = cm.ExecuteReader.GetSchemaTable
co1.Close()
End If
' The Exception occurs at Co1.Open() and the message is:
'An unhandled exception of type 'System.Data.Odbc.OdbcException'
'occurred in system.data.dll
'Additional information: System error.
I am "trying (struggling) to" create an user interface with VB.NET that
will allow me to connect to existing Acess databases through ODBC as well as
OLEDB. Due to many reasons I do not wish to hard code the
connection strings.
I am using the Data Link API to obtain the connection strings at run time.
The codes works fine with OLEDB to connect and run queries but with ODBC it
generates a system error.
I simply CANNOT figure out the following:
1. What is wrong with the ODBC connection string?
2. Why the same logic/code works with OLEDB and not with ODBC as the
connection string is obtained in similar way?
I am at the end of my patience and might end up doing something desperate.
If any kind hearted person is listening --please help.
Please find the codes below:
Thanks & Regards,
Mark
'Getting the Connection String
Dim udl As String = Application.StartupPath & "\Data.udl"
IO.File.Delete(udl)
IO.File.Create(udl).Close()
Process.Start(udl).WaitForExit()
Dim sw As New IO.StreamReader(udl)
sw.ReadLine()
sw.ReadLine()
Dim conn As String = sw.ReadToEnd
sw.Close()
'Display the Connection String in a Text Box.
txtConnection.Text = Conn
Conn = (Conn.Trim)
dt = New DataTable
If InStr(Conn, "MSDASQL", CompareMethod.Text) = 0 Then
Dim nwindConn As OleDb.OleDbConnection = New
OleDb.OleDbConnection(Conn)
nwindConn.Open()
schemaTable =
nwindConn.GetOleDbSchemaTable(OleDb.OleDbSchemaGuid.Tables, _
New Object() {Nothing,
Nothing, Nothing, "TABLE"})
nwindConn.Close()
Else
MsgBox("ODBC Connection")
Dim co1 As New Odbc.OdbcConnection(Conn.Trim)
'The code works fine till this point. It creates a system error in the next
line.
co1.Open() ' System Error is created here.
Dim cm As Odbc.OdbcCommand = New Odbc.OdbcCommand("", co1)
schemaTable = cm.ExecuteReader.GetSchemaTable
co1.Close()
End If
' The Exception occurs at Co1.Open() and the message is:
'An unhandled exception of type 'System.Data.Odbc.OdbcException'
'occurred in system.data.dll
'Additional information: System error.