连接字符串全集,NET中的应用
分类:web前端

连接字符串如下:

连接 Access 2007 的操作方法

  介绍几种在.NET中直接连接Excel作为数据源的几种方法以及连接字符串的说明。

今天界面的菜单初步确定。

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Access2007文件位置;Persist Security Info=False;

 

Microsoft Jet OLE DB 4.0

图片 1

需要密码的连接字符串如下:

            //无密码的连接字符串

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

接下来,首要的是数据库的设计,到底要用什么数据库好呢?用SQL server?太大了,不想装;用MySql,没用过,没下载;用Oracl,太正式了,用不来。最后我想就用Access吧,本地已安装。但在连接时出现:"未在本地计算机上注册"microsoft.Jet.oledb.12.0"提供程序",这是因为版本的问题,我的环境是VS2012+Access2013,解决方法:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Excel2007文件位置;Jet OLEDB:Database Password=数据库密码;

            string conStr = "Provider=Microsoft.Ace.OleDb.12.0;";

  64位机器可以看这里。

第一步, 下载安装Microsoft Access Database Engine,共有32bit和64bit两个版本,具体要安装哪个要看你的程序是32bit的还是64bit的,而不是PC的版本;

            conStr += @"Data Source=E:数据库XiaoZhen.accdb;";

  如果上面的连接字符串不奏效,可以尝试下面的格式。有些早期版本的2003格式的Excel文件需要在连接字符串中添加OLEDB前缀作为Provider标识。

32bit:

            conStr += "Persist Security Info=False;";

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

64bit:

 

  连接字符串中的双引号是必须的,请注意在代码中进行转义。

第二步,修改数据库连接字符串的Provide Microsoft.ACE.OLEDB.12.0(原来为Provide Microsoft.Jet.OLEDB.4.0)。

            //有密码的连接字符串

  C#,C++中使用"对双引号进行转义。

接下来,尝试连接就正确了。

            string conStr = "Provider=Microsoft.Ace.OleDb.12.0;";

  VB6,VBScript中使用""对双引号进行转义。

 

            conStr += @"Data Source=E:数据库XiaoZhen.accdb;";

  XML(或web.config)中使用"对双引号进行转义。

附:ACCESS连接字符串

            conStr += "Jet OleDb:DataBase Password='829321';";

  "HDR=Yes;"用于指示将Excel表格中的第一行作为标题,此时在查询语句中可以将标题作为数据表的字段名使用。"HDR=No;"则表示将Excel表格中的所有行都作为数据内容而不包含标题,此时在查询语句中需要使用F1,F2等作为字段名。如第一列为F1,第二列为F2等,以此类推。

标准链接

 

  "IMEX=1;"用于指示始终将Excel单元格中的内容作为text类型的数据。该选项会对Excel文件内容的回写产生影响。

"Driver= {Microsoft Access Driver(*.mdb)};DBQ=C:App1你的数据库名.mdb;Uid=你的用户名;Pwd=你的密码;"

            连接 Access 2003 的操作方法

  SQL语法:"Select [Column Name One]", [Column Name Two] From [Sheet One$]"。注意Excel wooksheet的名字必须以"$"结尾并且包含在方括号中。列名如有需要也应当包含在方括号中(如列名中包含有空格其它特殊字符等)。

如果ACCESS数据库未设置用户名和密码,请留空。下同。

 

  如何通过程序获取指定Excel文件中各个Sheet的名称?

WorkGroup方式(工作组方式)连接

            //无密码的连接字符串

using (OleDbConnection connection = new OleDbConnection(connectionString))
{
    DataTable dt = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });
    string sqlStr = "Select * From " + dt.Rows[0]["TABLE_NAME"].ToString();
}

"Driver={Microsoft Access Driver (*.mdb)}; Dbq=C:App1你的数据库名.mdb; SystemDB=C:App1你的数据库名.mdw;"

            string conStr = "Provider=Microsoft.Jet.OleDb.4.0;";

  除了表名和列名的写法有所不同外,SQL语句的使用方法和在SQL Server中基本相同。在.NET中数据访问层仍然可以使用OleDbHelper类,使用方法与普通的数据库一样。

采用独占方式进行连接

            conStr += @"Data Source=E:数据库XiaoZhen.mdb;";

  另外,如果指定的Excel文件需要密码才能打开,你需要在连接字符串中提供连接密码,否则打开Excel文件会失败。具体的内容可以看这里,

"Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:App1你的数据库名.mdb; Exclusive=1; Uid=你的用户名; Pwd=你的密码;"

            conStr += "Persist Security Info=False;";

MS ACCESS OLEDB & OleDbConnection (.NET下的OleDb接口)进行链接

 

 

普通方式(最常用)连接ACCESS数据库

            //有密码的连接字符串

ACE OLEDB 12.0

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:App1你的数据库名.mdb; User Id=admin; Password="

            string conStr = "Provider=Microsoft.Jet.OleDb.4.0;";

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:myFoldermyOldExcelFile.xls;Extended Properties="Excel 12.0;HDR=YES";

使用工作组方式(系统数据库)连接ACCESS数据库

            conStr += @"Data Source=E:数据库XiaoZhen.mdb;";

  使用ACE 12.0可以连接早期版本(97-2003)的Excel文件,对于2003以后版本的Excel也通用,但前提是Office组件中安装了对应的ACE,否则无法使用。可以去下面的地址下载ACE组件。

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:App1你的数据库名.mdb; Jet OLEDB:System Database=c:App1你的系统数据库名.mdw"

            conStr += "Jet OleDb:DataBase Password='829321';";

连接到带有密码的ACCESS数据库

 

  该连接字符串同样适用于Xlsb和Xlsm格式的Excel文件。

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:App1你的数据库名.mdb; Jet OLEDB:Database Password=你的密码"

<connectionStrings>

 

连接到处于局域网主机上的ACCESS数据库

<add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;

Microsoft Excel ODBC Driver

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\Server_NameShare_NameShare_Path你的数据库名.mdb"

Data Source=F:TeacherSystemApp_Datadb.mdb;

Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=C:MyExcel.xls;DefaultDir=c:mypath;

连接到处于远程服务器上的ACCESS数据库

Jet OLEDB:Database Password=123" providerName="System.Data.OleDb" />

  使用ReadOnly=0表示连接是只读的,所有对数据源的更新操作将不可回写。

"Provider=MS Remote; Remote Server=; Remote Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:App1你的数据库名.mdb"

</connectionStrings>

Driver={Microsoft Excel Driver (*.xls)};Dbq=C:MyExcel.xls;ReadOnly=0;

 

 

 

.NET xlReader for Microsoft Excel

 

Data Source =c:myExcelFile.xlsx;HDR=yes;Format=xlsx;

 

  注意上面的连接字符串中使用了HDR=yes参数,表示将Excel数据表的首行作为标题。

 

 

连接 Access 2003

Provider=Microsoft.Jet.OleDb.4.0;           

Data Source=Access2007文件位置;

Persist Security Info=False;

 

连接 Access 2007

Provider=Microsoft.ACE.OLEDB.12.0;

Data Source=Access2007文件位置;

Persist Security Info=False;

 

  连接 Access 2007

Provider=Microsoft.ACE.OLEDB.12.0;

Data Source=Excel2007文件位置;

Jet OLEDB:Database Password=数据库密码;

 

 

连接 Access 2007

<appSettings>

<add key="Access"

value="Provider=Microsoft.Ace.OleDb.12.0;

Data Source=E:数据库XiaoZhen.accdb;"/>   

</appSettings>

 

<connectionStrings>

<add name="Access"

connectionString="Provider=Microsoft.Ace.OleDb.12.0;

Data Source=E:数据库XiaoZhen.accdb;" />

</connectionStrings>

 

 以上是总结的各种连接 Access 的连接字符串的一个总的汇总

本文由10bet手机官网发布于web前端,转载请注明出处:连接字符串全集,NET中的应用

上一篇:html基础进阶 下一篇:巴南建联合国三农实验基地,重庆旅游攻略景点必去
猜你喜欢
热门排行
精彩图文