Solved

Connecting to an ODBC DNS Data Source

Posted on 2007-12-02
5
990 Views
Last Modified: 2012-06-21
I am trying to connect to an Access mdb file using ODBC DNS, Can you please take alook at the code attched and see if you can see where im going wrong.

when i run the web app and press the button that calls the conection i get the following error on "conn.ConnectionString = strConnectionString;":
An OLE DB Provider was not specified in the ConnectionString.  An example would be, 'Provider=SQLOLED

All commects welcome.........................
using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data.OleDb; // added library

using Microsoft.Data.Odbc; //added libary
 

namespace WebApplication1

{

    public partial class _Default : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {
 

        }
 

        protected void btnGo_Click(object sender, EventArgs e)

        {
 

            // set the connection string

            //note: the @ symbol is needed before the string to prevent from having to use double back slashes

            string strConnectionString = "@DNS=PHJ;Uid=;Pwd=;";
 

                        // get the search contents

            string strSearchValue = txtSearch.Text;
 

            // create the sql query using the search value - note: access over oledb requires square brackets round table name

            string strSql = "SELECT OrderID, ServiceID FROM [Order2Service] WHERE ServiceID LIKE '%" + strSearchValue + "%';";
 
 

            // create a new connection object

            OleDbConnection conn = new OleDbConnection();
 

            // set the connection string from the global variable

            conn.ConnectionString = strConnectionString;
 

            // create a new command object using the connection

            OleDbCommand command = new OleDbCommand();

            command = conn.CreateCommand();

            command.CommandText = strSql; // set the sql query
 

            // create the dataset

            DataSet ds = new DataSet();
 

            // set and run the query - the adaptor executes the command against the database set in the command

            OleDbDataAdapter adapter = new OleDbDataAdapter();

            adapter = new OleDbDataAdapter(command);

            adapter.Fill(ds);
 

            // bind and show the results in the grid

            grdResults.DataSource = ds.Tables[0];

            grdResults.DataBind();
 

        }

    }

}

Open in new window

0
Comment
Question by:martgriff
  • 3
5 Comments
 
LVL 19

Expert Comment

by:weellio
ID: 20392342
DSN not dns
0
 
LVL 19

Expert Comment

by:weellio
ID: 20392346
0
 
LVL 40

Expert Comment

by:evilrix
ID: 20392351
Example connection strings can be found here: -
http://www.connectionstrings.com/?carrier=access
0
 

Author Comment

by:martgriff
ID: 20394375
I have been on that website and if you look at my code i have put what they recommed but it is still failing, i have never connected to an DSN before so im not sure if there is somthing else missing?
0
 
LVL 19

Accepted Solution

by:
weellio earned 500 total points
ID: 20396252
string strConnectionString = "@DNS=PHJ;Uid=;Pwd=;";
should be
string strConnectionString = "@DSN=PHJ;Uid=;Pwd=;";


and it may help to have a userid and password
uid = userid
pwd = password
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now