Jeff Bootsholz
Jeff Bootsholz

Reputation: 3068

C# ODBC ConnectionString

I was currently create a ODBC Connection to the remote server of the web-hosting. The Access File is at the ftp home directory.

When running in this code , at the m_connection.Open();

        var m_result = new DataTable();

    try
    {
        using (OdbcConnection m_connection = new OdbcConnection(connectionDBString))
        {
            string sql = "SELECT * FROM product";
            m_connection.Open();
            OdbcDataAdapter dataadapter = new OdbcDataAdapter(sql, m_connection);
            dataadapter.Fill(m_result);
            m_connection.Dispose();
            m_connection.Close();
        }
    }
    catch (Exception e)
    {

    }
    return m_result;

The following exception fails

ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

Is there anyway to claim the dataSource for the ODBC Connection ? In the cPanel, I only set the DSN and the Path as follows:

DSN : wealthhonesthk-website

Path : e:\virtualhost\domains\wealthhonesthk\home\website.mdb

The below is my part of the web.config

     <connectionStrings>
    <add 
      name="ODBCDataConnectionString" 
      connectionString="DSN=wealthhonesthk-website;Driver={Microsoft Access Driver (*.mdb)};FILEDSN=ftp:/210.245.166.72/home/website.mdb;Dbq=ftp:/210.245.166.72/home/website.mdb;Uid=;Pwd=; curly=false;"
      providerName="System.Data.Odbc"
    />
  </connectionStrings>

Upvotes: 0

Views: 5216

Answers (3)

David Hoerster
David Hoerster

Reputation: 28701

You tend to use a DSN when you don't define a connection string in a config file (like in old VB6 days). Since you're using a config file, you really don't need a DSN. Why not use a connection string like:

Driver={Microsoft Access Driver (*.mdb)};Dbq=ftp://210.245.166.72/home/website.mdb;Uid=Admin;Pwd=;?

Also, having your MDB file mapped to a FTP location may be a problem; why not map a network drive to that location? This way, your connection string might look like:

Driver={Microsoft Access Driver (*.mdb)};Dbq=X:\myNetworkLocation\website.mdb;Uid=Admin;Pwd=;

Lastly, why are you defining a FILEDSN and a Dbq parameter for your connection string?

In short, I'd recommend getting rid of the DSN part of your connection string and use a non-ftp location for your MDB file.

Upvotes: 1

Ramesh Rajendran
Ramesh Rajendran

Reputation: 38663

Have a look at following

http://www.connectionstrings.com/

Should help you.

As you are trying to connect to Oracle Database, you might need to have Oracle Client installed.

Upvotes: 0

Steve Wellens
Steve Wellens

Reputation: 20620

Here is all the information you need on connection strings:

http://www.connectionstrings.com/access

http://www.connectionstrings.com/access-2007

Upvotes: 0

Related Questions