1.了解OLEDB和ODBC

        OLEDB和ODBC是两种常见的数据库访问技术,它们之间有一些区别。

        OLEDB(Object Linking and Embedding Database)是一种基于组件对象模型(COM)的数据库访问技术,主要用于访问Microsoft Office数据库,如Access和Excel。OLEDB支持多种数据源,包括关系型数据库、文本文件和XML文件等。OLEDB使用ADO(ActiveX Data Objects)作为应用程序和数据库之间的中间层,提供了一种面向对象的方式来访问数据库。

        ODBC(Open Database Connectivity)是一种开放式的数据库访问技术,可以访问各种不同类型的数据库,包括关系型数据库、文本文件、Excel和XML文件等。ODBC使用一组标准API(应用程序编程接口)来实现数据库访问,支持多种数据库管理系统(DBMS),如MySQL、Oracle和SQL Server等。ODBC可以通过ODBC驱动程序来访问不同类型的数据库,提供了一种标准化的数据库访问方式。

        总的来说,OLEDB主要用于访问Microsoft Office数据库,而ODBC是一种通用的数据库访问技术,可以访问各种不同类型的数据库。

2.连接字符串 

         ConnectionStrings.com为连接字符串提供了一个简单的参考。关于与数据源—软件连接相关的主题的文章和指南的知识库,以及一组问答论坛,开发人员可以在其中相互帮助,为他们的系统找到与连接相关的解决方案。

ConnectionStrings.com - Forgot that connection string? Get it here!

        /// <summary>
        /// 获取数据操作类
        /// 连接串:http://www.connectionstrings.com/
        /// sybase AseConnection 连接串:Data Source='myASEserver';Port=5000;Database='myDBname';UID='username';PWD='password';" 
        /// sybase OleDb连接串: Provider=Sybase.ASEOLEDBProvider;Server Name=myASEserver,5000;Initial Catalog=myDBname;User Id=username;Password=password
        /// sybase odbc连接串:Driver={SYBASE ASE ODBC Driver};Srvr=Aron1;Uid=username;Pwd=password"  or "DSN=;Uid=;Pwd="
        /// oracle OracleConnection连接串: Data Source=MyOracleDB;User Id=username;Password=passwd;Integrated Security=no;" 
        /// oracle Oledb 连接串:"Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=Username;Password=asdasd;" 
        /// oracle odbc 连接串:"Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=Username;Pwd=asdasd;" 
        /// mysql  MySqlClient : "Host=server; UserName=myusername; Password=mypassword;Database=mydb;" 
        /// mysql OleDb:	"Provider=MySQLProv;Data Source=mydb;User Id=UserName;Password=asdasd;"
        /// SQLServer 200 Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
        /// 通用odbc连接 串: Dsn=cimas;Uid=sa;Pwd=123321
        /// </summary>
        /// <param name="strConnection"></param>
        /// <param name="DBType">数据库类型(ODBC,OleDb,Sybase,Oracle,DB2,SqlServer,MySql)</param>
        /// <returns></returns>
        public static DBOperator GetDBOperator(string strConnection, string DBType, string strPassword)
        {
            switch (DBType.ToLower().Trim())
            {
                case "odbc":
                    return new OdbcDBOperator(strConnection, strPassword);
                case "sqlserver":
                    return new SqlDBOperator(strConnection, strPassword);
                case "sqlite":
                    return new SQLiteOperator(strConnection, strPassword);
                default://默认是oledb模式
                    return new OleDBOperator(strConnection);
            }
        }
10-13 22:44