C#ODBC连接字符串

时间:2013-03-30 13:28:43

标签: c# asp.net odbc

我当前正在创建一个到Web托管的远程服务器的ODBC连接。 访问文件位于ftp主目录。

在此代码中运行时,在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;

以下异常失败

  

错误[IM002] [Microsoft] [ODBC驱动程序管理器]数据源名称不是   找到并且没有指定默认驱动程序

无论如何都要声明ODBC连接的dataSource? 在cPanel中,我只按如下方式设置DSN和Path:

DSN:wealthhonesthk-website

路径:e:\ virtualhost \ domains \ wealthhonesthk \ home \ website.mdb

以下是我对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>

3 个答案:

答案 0 :(得分:1)

当您未在配置文件中定义连接字符串时(例如在旧的VB6天中),您倾向于使用DSN。由于您使用的是配置文件,因此您确实不需要DSN。为什么不使用像:

这样的连接字符串

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

此外,将MDB文件映射到FTP位置可能会出现问题;为什么不将网络驱动器映射到该位置?这样,您的连接字符串可能如下所示:

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

最后,为什么要为连接字符串定义FILEDSN和Dbq参数?

简而言之,我建议删除连接字符串的DSN部分,并为MDB文件使用非ftp位置。

答案 1 :(得分:0)

答案 2 :(得分:0)

看看下面的

http://www.connectionstrings.com/

应该帮助你。

当您尝试连接到Oracle数据库时,可能需要安装Oracle客户端。