1、我以前都是用sqlconnection直接连接sqlserver的,这次要用如果用odbcconnection连接access,是不是需要设置dsn,我设置了,就是在控制面板-管理工具-数据源 (ODBC)-系统dns-添加...
设置了,但是可能不太对,是选择driver do ms access还是ms access driver?
最后名字设定为kkk
在连接的时候,代码为OdbcConnection myC=new OdbcConnection("{Microsoft Access Driver (*.mdb)};DBQ=C:\\Inetpub\\wwwroot\\web\\db1.mdb;Uid=Admin;Pwd=;");
结果错误:ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 不知道哪里出了问题2、我用OleDb连接同一个access数据库,只要代码写对了Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;就可以连接,我根本没有设置任何的东西,难道oledb不需要驱动么,还是自己装了已经,那我如果用oledb连接db2等非微软的数据库需要驱动么

解决方案 »

  1.   

    我看到说如果是用odbc数据源的话,需要在每台客户端都要安装这个数据库的驱动,真的是这样么?
      

  2.   

    public void InsertRow(string connectionString, string insertSQL)
    {
        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            // The insertSQL string contains a SQL statement that
            // inserts a new row in the source table.
            OleDbCommand command = new OleDbCommand(insertSQL);        // Set the Connection to the new OleDbConnection.
            command.Connection = connection;        // Open the connection and execute the insert command.
            try
            {
                connection.Open();
                command.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            // The connection is automatically closed when the
            // code exits the using block.
        }
      

  3.   

    用oledb我知道,但是我现在想看看到底怎么用odbc连接,因为之后我们要连接postgra数据库,这个就没有办法用oledb连接了吧
      

  4.   

    您的代码中没有我需要的,我需要的就是connectionString到底写了什么
      

  5.   

    2. 数据访问方式的历史
    下面简单的回顾一下微软的数据访问方式所走过的几个阶段。
    ODBC – (Open Database Connectivity)是第一个使用SQL访问不同关系数据库的数据访问技术。使用ODBC应用程序能够通过单一的命令操纵不同的数据库,而开发人员需要做的仅仅只是针对不同的应用加入相应的ODBC驱动。
    DAO - (Data Access Objects)不像ODBC那样是面向C/C++程序员的,它是微软提供给Visual Basic开发人员的一种简单的数据访问方法,用于操纵Access数据库。
    RDO – 在使用DAO访问不同的关系型数据库的时候,Jet引擎不得不在DAO和ODBC之间进行命令的转化,导致了性能的下降,而RDO(Remote Data Objects)的出现就顺理成章了。
    OLE DB – 随着越来越多的数据以非关系型格式存储,需要一种新的架构来提供这种应用和数据源之间的无缝连接,基于COM(Component Object Model)的OLE DB应运而生了。
    ADO – 基于OLE DB之上的ADO更简单、更高级、更适合Visual Basic程序员,同时消除了OLE DB的多种弊端,取而代之是微软技术发展的趋势。
    原文: http://www.microsoft.com/china/community/program/originalarticles/techdoc/ADONET.mspx
      

  6.   

    因为之后我们要连接postgra数据库,这个就没有办法用oledb连接了吧
    这个,你要看看postgra数据库的例子就可以了,他的帮助文档里面肯定有的。
    我记得每一种数据库的connectionstring都不太一样的,不能照搬。
      

  7.   

    这是我搜索来的,"DRIVER={PostgreSQL};SERVER=ipaddress;port=5432;DATABASE=dbname;UID=username;PWD=password;"
      

  8.   

    Eri(NULL),我有个问题,就是我已经用oledb连接access成功了,只是把连接的代码设置一下就可以,很方便,问题是我没有装什么数据库驱动,又或者是windows已经装了驱动了,那么如果我用oledb连接postgra的话,也是像连接access那样直接修改代码就可以了么,也不需要装其它的或者配置什么么?
    多谢
      

  9.   

    你需要做的是...在每一台客户机上建立“ODBC数据源”...“管理工具”中“数据源(ODBC)”...打开“ODBC 数据源管理器”...
    有“用户 DSN”、“系统 DSN”和“文件 DSN”三种方式...
    “驱动程序”选项卡里列出的是可用的ODBC驱动...如果没有还要自己装...ODBC已过时...能不用就不用...
      

  10.   

    另外
    PostgreSQL ,有.net驱动,你还是用.net驱动吧。PostgreSQL
    Core Labs PostgreSQLDirect (.NET)Standard:
    "User ID=root; Password=pwd; Host=localhost; Port=5432; Database=testdb;Pooling=true; Min Pool Size=0; Max Pool Size=100; Connection Lifetime=0"
    Read more at Core Lab and the product page.
      

  11.   

    ztwzztwx() ( ) 信誉:100  2007-08-09 14:30:01  得分: 0  
     
     
    那么如果我用oledb连接postgra的话,也是像连接access那样直接修改代码就可以了么,也不需要装其它的或者配置什么么?
    多谢
    --------------------------------------------------------------用这个试试看
     
    "DRIVER={PostgreSQL};SERVER=ipaddress;port=5432;DATABASE=dbname;UID=username;PWD=password;"
      

  12.   

    "DRIVER={PostgreSQL};SERVER=ipaddress;port=5432;DATABASE=dbname;UID=username;PWD=password;"这个是写在哪个里面的,是oledb还是odbc呢,还有我就是不懂,您说“PostgreSQL ,有.net驱动,你还是用.net驱动吧。”我怎么用.net驱动,是自己需要装么?还是直接改改代码就可以了
      

  13.   

    http://pgfoundry.org/projects/npgsql看这里,这里有2个下载,一个是PostgreSQL 的.Net类库,你在你的项目引用它就可以使用了。
    使用的例子你可以看另外一个下载,那个是例子。
      

  14.   

    这个是类库:npgsql Npgsql2 Preview Release  July 11, 2007  -   下载 
    这个是例子:samples ImageMake1.1  April 10, 2006  -   下载 
      

  15.   

    不要用那么复杂的语句,直接在oddb数据源中设置好了,起名字,之后代买为dsn=aaa,就可以了,很简单,我试过了