• 网站开发
  • 软件开发
  • 网站推广
  • 人工智能
  • 硬件技术
  • ADO中常用的数据库连接字符串
      发布:2024-8-28  

    在ADO中常用的连接字符串,方便查阅和比较。


    内容涵盖了连接到Access,Excel,TXT,SQL Server,MySQL的连接字符串。


    1.Access Access 2003 Access 2007 Access 2010 Access 2013


    本地文件:


    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb; Persist Security Info=False;


    网络文件(IP地址前为双反斜杠,例如:\192.168.0.1\文件夹\文件.accdb):


    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\server\share\folder\myAccessFile.accdb;


    带密码:


    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb; Jet OLEDB:Database Password=MyDbPassword;


    2.Excel Excel 2003 Excel 2007 Excel 2010 Excel 2013


    Excel 12.0 Xml中的后缀XML、MACRO可以省略


    Xlsx文件


    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx; Extended Properties="Excel 12.0 Xml;HDR=YES";


    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx; Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1";


    Xlsb文件


    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myBinaryExcel2007file.xlsb; Extended Properties="Excel 12.0;HDR=YES";


    Xlsm文件


    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsm; Extended Properties="Excel 12.0 Macro;HDR=YES";


    Xls文件(Excel 97-2003)


    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myOldExcelFile.xls; Extended Properties="Excel 8.0;HDR=YES";


    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls; Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";


    参数说明


    HDR=Yes:


    这代表第一行是标题,不做为数据使用 ,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。默认值YES


    Excel 8.0:


    对于Excel 97以上、2003及以下版本都用Excel 8.0,Excel 2007以上用Excel 12.0


    IMEX(IMport EXport mode):


    IMEX是用来告诉驱动程序使用Excel文件的模式,其值有0、1、2三种,分别代表导出、导入、混合模式。当我


    们设置IMEX=1时将强制混合数据(数字、日期、字符串等)转换为文本。


    但仅仅这种设置并不可靠,IMEX=1只确保在某列前8行数据至少有一个是文本项的时候才起作用,它只是把查


    找前8行数据中数据类型占优选择的行为作了略微的改变。例如某列前8行数据全为纯数字,那么它仍然以数字


    类型作为该列的数据类型,随后行里的含有文本的数据仍然变空。另一个改进的措施是IMEX=1与注册表值


    TypeGuessRows配合使用,TypeGuessRows 值决定了ISAM 驱动程序从前几条数据采样确定数据类型,默认为“8


    ”。


    可以通过修改“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel”下的该注册表值来更改采


    样行数,设置为0时表示采样所有行。


      IMEX 三种模式:


      当 IMEX=0 时为“汇出模式”(Export mode),该模式开启的Excel档案只能用来做“写入”用途。   当 IMEX=1 时为“汇入模式”(Import mode),该模式开启的Excel档案只能用来做“读取”用途。   当 IMEX=2 时为“连結模式”(Linked mode),该模式开启的Excel档案支持“读取”和“写入”用途。


    选择数据区域:


    "SELECT [列名一], [列名二] FROM [表一$]",Excel工作表名后面跟着一个“$”,并用[]括号括起来;如果


    HDR=NO,也就是工作表没有标题,用F1,F2...引用相应的数据列。


    "SELECT * FROM [Sheet1$a5:d10]",选择A5到D10的数据区域。


    数据区域也可以用Excel中定义的名称表示,假如有个工作簿作用范围的数据区名称datarange,查询语句为:


    "SELECT * FROM [datarange]"


    如果数据区名称作用范围是工作表,需要加上工作表名:"SELECT * FROM [sheet1$datarange]"


    有密保的工作簿:


    如果Excel工作簿受密码保护,即使通过提供正确的密码与连接字符串,也无法打开它来进行数据访问。如果您


    尝试打开,将收到以下错误信息:“无法解密文件”。


    3.文本文件


    分隔符列


    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\; Extended Properties="text;HDR=Yes;FMT=Delimited";


    定长列


    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\; Extended Properties="text;HDR=Yes;FMT=Fixed";


    FMT(Format) - 指定格式化类型。可以有如下值:


    Delimited 文件被当做一个逗号分隔文件。逗号是默认分隔符。 Delimited(x) 文件被当做 'x’作为分隔符的文件 TabDelimited 文件被当做制表符分隔的文件 FixedLength 通过指定字段的固定长度来读取数据。


    在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Text\可修改: 值为:"Format" = "TabDelimited"或"Format" = "Delimited(;)" 如不指定,则为:"Format"="Delimited( )"


    4.SQL Server


    标准安全模式(Standard Security):


    Provider=sqloledb;Data Source=myServerAddress;Initial Catalog=myDataBase; User Id=myUsername;Password=myPassword;


    信任连接(Trusted connection):


    Provider=sqloledb;Data Source=myServerAddress;Initial Catalog=myDataBase; Integrated Security=SSPI;


    参数说明:


    Integrated Security(集成验证)为True时,连接语句中的UserID, Password是不起作用的,即采用windows身


    份验证模式。只有设置为False或省略该项的时候,才按照UserID, Password来连接。Integrated Security可


    以设置为: True, false, yes, no ,还可以设置为:SSPI ,相当于True.如果SQL SERVER服务器不支持这种方


    式登录时,就会出错,你此时应使用SQL SERVER的用户名和密码进行登录,如:


    "Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=数据库名; Data Source=192.168.0.1;User ID=sa;Password=密码"


    integrated security=true表示以 Windows 身份验证的方式连接SQL。这种模式只允许SQL安装在本机上才能成


    功登录。如果是远程登录模式,那么就应该使用用户名,密码的方式连接


    Persist Security Info:是保存安全信息(密码)的,最好设置为false


    禁用连接池(Disable connection pooling):


    Provider=sqloledb;Data Source=myServerAddress;Initial Catalog=myDataBase; User ID=myUsername;Password=myPassword;OLE DB Services=-2;


    提示用户名和密码(Prompt for username and password)


    oConn.Provider = "sqloledb" oConn.Properties("Prompt") = adPromptAlways oConn.Open "Data Source=myServerAddress;Initial Catalog=myDataBase;"


    通过IP地址连接(Connect via an IP address)


    Provider=sqloledb;Data Source=190.190.200.100,1433;Network Library=DBMSSOCN; Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;


    "Network Library=DBMSSOCN"声明OLE DB使用TCP/IP替代Named Pipes命名管道连接方式, 不加的话就使用MSSQL服务器端默认连接方式,不受程序控制。 支持的值包括:


    复制代码

    dbnmpntw(命名管道)

                   dbmsrpcn(多协议,Windows RPC)

                   dbmsadsn (Apple Talk)

                   dbmsgnet (VIA)

                   dbmslpcn(共享内存)

                   dbmsspxn (IPX/SPX)

                   dbmssocn (TCP/IP)  

                   dbmsvinn (Banyan Vines)

    复制代码

     


    5.MySQL


    Provider=MySQLProv;Data Source=mydb;User Id=myUsername;Password=myPassword; odbc: Driver={MySQL ODBC 8.0 Unicode Driver};Server=localhost;Database=xx; User=xxx;Password=xxxxx;Option=3; https://dev.mysql.com/downloads/connector/odbc/


    6.Oracle Provider=MSDAORA.Oracle;Data Source=xxx;user id=xx;password=xx Provider=ORAOLEDB.Oracle;Data Source=xxx;user id=xx;password=xx


    odbc: Driver={Oracle in instantclient_12_1};Data Source=xx;user id=xx;password=xx;Persist Security Info=True


    7.Impala odbc Driver={Cloudera ODBC Driver for Impala};Data Source=xx;user id=xx;password=xx


    ORACLE ODBC安装方法:


    复制代码

    1  下载database instantclient 12.2   32位(你的EXCEL位数)

    http://www.oracle.com/technetwork/topics/winsoft-085727.html

    instantclient-basic-nt-12.2.0.1.0.zip

    instantclient-odbc-nt-12.2.0.1.0-2.zip

    下载base和ODBC,解压到一个文件夹,然后放到C:\Oracle\instantclient_12_2


    2 执行安装

    管理员权限执行C:\Oracle\instantclient_12_2\odbc_install


    3 增加系统路径

    Path增加C:\Oracle\instantclient_12_2

    新增TNS_ADMIN, 路径为C:\Oracle\instantclient_12_2


    4 创建tnsnames.ora

    在C:\Oracle\instantclient_12_2创建tnsnames.ora文件。格式如下:


    orcl=

     (DESCRIPTION =

       (ADDRESS_LIST =

         (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.22.2)(PORT =1521))

        )

       (CONNECT_DATA =

         (SERVICE_NAME =orcl)

        )

      )

    5 在ODBC新增数据源

    进入ODBC 数据源管理器 32位


    相关标签: