Excel工作表的外部数据源中

Excel工作表的外部数据源中,终于不再有连接用户的密码,困扰了遥远的Excel
瑟维斯 的平安难点究竟化解了,前边有时间会有详实的辨证。
<odc:Connection odc:Type=”OLEDB”>
   <odc:ConnectionString>
    Provider=SQLOLEDB.1;
    Integrated Security=SSPI;
    Persist Security Info=True;
    User ID=dataaccesser;
    Initial Catalog=AdventureWorks;
    Data Source=aerbin-sql2005\portal;
    Use Procedure for Prepare=1;
    Auto Translate=True;
    Packet Size=4096;
    Workstation ID=AERBIN-MOSS;
    Use Encryption for Data=False;
    Tag with column collation when possible=False
   </odc:ConnectionString>
   <odc:CommandType>Table</odc:CommandType>
  
<odc:CommandText>"AdventureWorks"."Sales"."vSalesPersonSalesByFiscalYears"</odc:CommandText>
   <odc:CredentialsMethod>None</odc:CredentialsMethod>
  </odc:Connection>
 </odc:OfficeDataConnection>

先来看一下默许的连年SQL Server数据库配置
<connectionStrings>
   <add name=”LocalSqlServer” connectionString=”Data
Source=.\SQLExpress;Integrated
Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User
Instance=true” providerName=”System.Data.SqlClient” />
</connectionStrings>

SqlConnectionStringBuilder实例化时索要动用connectionString。如:SqlConnectionStringBuild
builder = new SqlConnectionStringBuild(connectionString);

一、Data Source
SqlConnectionStringBuilder的DataSource属性,对应
connectionString中的Data Source,“Data
Source”能够由下列字符串代替:“Server”,“Address”,“Addr”和“Network
Address”。
Data Source=.\SQLExpress也得以写成这么Data Source=(local)\SQLExpress。

二、Integrated Security
SqlConnectionStringBuilder 的 IntegratedSecurity 属性,对应
connectionString 中的I ntegrated Security,“Integrated
Security”能够写成“trusted_connection”。
为 True 时,使用当前的 Windows 帐户凭据进行身份验证,为 False
时,须求在连接中钦定用户 ID 和密码。可辨识的值为 True、False、Yes、No
以及与 True 等效的 SSPI。
即使没有个别则必须写上 uid=sa;pwd=1二三 之类的设置“uid”也可选拔“User
ID”,“pwd”也可换为“PassWord”。

SSPI:Microsoft安全匡助提供器接口(SSPI)是概念得较完美的公用API,用来获取认证、音信完整性、音信隐秘等集成安全服务,以及用于全数分布式应用程序协商的平安方面的劳务。
应用程序协议设计者能够利用该接口得到不一样的安全性服务而不用修改协议自身。

三、AttachDBFilename
SqlConnectionStringBuilder 的 AttachDBFilename 属性,对应
connectionString 中的
AttachDBFilename,“AttachDBFilename”能够写成“extended
properties”,“initial file name”。
AttachDbFileName
属性内定连接打开的时候动态附加到服务器上的数据库文件的任务。
以此性情基本上能用数据库的完好路径和相对路径(例如利用|DataDirectory|语法),在运维时这一个途径会被应用程序的
App_Data 目录所取代。

四、User Instance
SqlConnectionStringBuilder 的 UserInstance 属性,对应 connectionString
中的 User Instance ,该值提示是否将接连从私下认可的 SQL Server
实例重定向到在调用方帐户之下运维并且在运营时运行的实例。
UserInstance=true 时,SQLServerExpress
为了把数据库附加到新的实例,建立2个新的长河,在开拓连接的用户地点下运转。
在 ASP.NET 应用程序中,这么些用户是地面包车型地铁 ASPNET 帐号或私下认可的
NetworkService,那依赖于操作系统。
为了安全地附加非系统管理员帐号(例如ASP.NET帐号)提供的数据库文件,建立二个独门的
SQLServer 用户实例是少不了的。

五、Initial Catalog 等同于 Database。

6、providerName 钦赐值“System.Data.OracleClient”,该值钦赐 ASP.NET
在运用此延续字符串进行接二连三时应使用 ADO.NET System.Data.OracleClient
提供程序。

PS:
DataDirectory是什么?

asp.net ②.0有一个异样目录app_data,日常Sql Server 二〇〇五express数据文件就放在那几个目录,相应的数据库连接串就是:
connectionString=”…… data source=.\SQLEXPRESS;Integrated
Security=SSPI;AttachDBFilename=|DataDirectory|data.mdf;User
Instance=true”
此处有3个DataDirectory的宏,它意味着什么含义吗?

DataDirectory是意味着数据库路径的更迭字符串。由于无需对全部路径举行硬编码,DataDirectory
简化了花色的共享和应用程序的布置。例如,无需使用以下连接字符串:
“Data Source= c:\program files\MyApp\app_data\Mydb.mdf”
经过应用|DataDirectory|(包蕴在如下所示的竖线中),即可拥有以下连接字符串:
“Data Source = |DataDirectory|\Mydb.mdf” 。

不光是Sql server 二〇〇七express中动用,也足以在别的的文本数据库中采纳,例如Sqllite数据库文件的连天字符串:

<add name=”DefaultDB”
connectionString=”DriverClass=NHibernate.Driver.SQLite20Driver;Dialect=NHibernate.Dialect.SQLiteDialect;Data
Source=|DataDirectory|\data.db3″ />

 

—————————————    附加壹些老是语句例子   

<–普通例子壹–>
<configuration>
<connectionStrings>
    <add name=”Sales” providerName=”System.Data.SqlClient”
connectionString=”server=myserver;database=Products;uid=salesUser;pwd=sellMoreProducts”
/>

    <add name=”NorthWind” providerName=”System.Data.SqlClient”
connectionString=”server=.;database=NorthWind;Integrated Security=SSPI”
/>

</connectionStrings>
</configuration>

<–普通例子二–>
<configuration>
<connectionStrings>
    <add name=”NorthWind”
connectionString=”Provider=SQLOLEDB;Integrated Security=SSPI;Initial
Catalog=da;Data Source=bar” />
</configuration>


<connectionStrings>
   <add name=”LocalSqlServer” connectionString=”Data
Source=.\SQLExpress;Initial Catalog=NorthWind;Integrated Security=SSPI”
providerName=”System.Data.SqlClient” />
</connectionStrings>
<–也可写为–>
<connectionStrings>
   <add name=”LocalSqlServer”
connectionString=”Server=.\SQLExpress;Database=NorthWind;Integrated
Security=Yes” providerName=”System.Data.SqlClient” />
</connectionStrings>


<configuration>
<connectionStrings>
    <add name=”DB2005_2″
    providerName=”System.Data.SqlClient”
    connectionString=”Data Source=.;Initial Catalog=Northwind;User
ID=dbtester;Password=zhi;Trusted_Connection=False;Connect
Timeout=30;Min Pool Size=16;Max Pool Size=100″/>

    <add name=”DB2005_1″
    providerName=”System.Data.SqlClient”
    connectionString=”Server=.;Database=Northwind;User
ID=dbtester;Password=zhi;Trusted_Connection=False;Connect
Timeout=30;Min Pool Size=16;Max Pool Size=100″/>

    <add name=”Northword2000″
    providerName=”System.Data.SqlClient”
    connectionString=”Initial Catalog=Northwind;User
ID=dbtester;PassWord=zhi;Persist Security Info=false;Data
Source=(local);Connect Timeout=30;Min Pool Size=16;Max Pool
Size=100;”/>

    <add name=”SQLExp”
       providerName=”System.Data.SqlClient”
       connectionString=”Data
Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\northwnd1.mdf;Integrated
Security=True;Connect Timeout=30;User Instance=True”/>
   
    <add name=”Oracle”
      connectionString=”Data Source=TEST;User ID=sa;Password=sa;”
      providerName=”System.Data.OracleClient” />

    <add name=”oleconn”
       providerName=”System.Data.OleDb”
       connectionString=”Provider=Microsoft.Jet.OleDb.4.0;Data
Source=|DataDirectory|northwind.mdb”/>

    <add name=”MySql”
    providerName=”MySql.Data.MySqlClient”
   
connectionString=”Server=172.29.131.27;Port=3311;DataBase=comctl;Persist
Security Info=False;User ID=root;Password=123456;Allow Zero
Datetime=true;” />
</connectionStrings>
    <system.data>
        <DbProviderFactories>
            <add name=”MySQL Data Provider”
                 invariant=”MySql.Data.MySqlClient”
                 description=”.Net Framework Data Provider for MySQL”
                 type=”MySql.Data.MySqlClient.MySqlClientFactory,
MySql.Data, Version=5.2.5.0, Culture=neutral,
PublicKeyToken=c5687fc88969c44d”/>
        </DbProviderFactories>
    </system.data>
</configuration>

======================================     

能够保存为(以下转自他处).cs     

using System.Data.SqlClient;
using System.Configuration;
public class Class1
{
    public Class1()
    {
        //Persist Security
Info假若数据库连接成功后不再须求连接的密码,建议False
        //string sql2000 = “Initial Catalog=Northwind;User
ID=dbtester;PassWord=zhi;Persist Security Info=false;Data
Source=(local);Connect Timeout=30;Min Pool Size=16;Max Pool
Size=100;”;
        //string sql2000 = “Initial Catalog=Northwind;User
ID=sa;PassWord=5;Persist Security Info=false;Data Source=.”;
        //string sql2000 = “Initial Catalog=Northwind;User
ID=sa;PassWord=5;Persist Security Info=false;Data Source=newtime”;
        string source = “server=(local);integrated
security=SSPI;database=Northwind”;
        string expressSource = @”Data
Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\northwnd.mdf;Integrated
Security=True;Connect Timeout=30;User Instance=True”;
        //Integrated Security采取windows的集成身份验证,integraged  
Security=SSPI;
        //Integrated Security=SSPI
这么些象征以当下WINDOWS系统用户身去登录SQL SE汉兰达VELX570服务器,要是SQL
SESportageVEPRADO服务器不支持那种格局登录时,就会出错
        //表示您的延续安全注脚办法,可用trusted_connection=yes取代
        //Integrated Security 为
True。用户实例仅与集成安全性1起利用,带有用户名和密码的 SQL Server
用户不起成效。
        //string source3 = @”Data Source=190.190.200.100,1433;Network
Library=DBMSSOCN;Initial Catalog= pubs;UserID=sa;Password=asdasd;”;
        //(DBMSSOCN=TCP/IP instead of Named Pipes, at the end of the
Data Source is the port to use (1433 is the default))
        //Standard Security:
        string source4 = “Data Source=Aron1;Initial Catalog=
pubs;UserId=sa;Password=asdasd;”;
        string source5 =
“Server=Aron1;Database=pubs;UserID=sa;Password=asdasd;Trusted_Connection=False”;
        //Trusted_Connection ‘false’ 当为 false 时,将在连接中钦赐用户
ID 和密码。当为 true 时,将动用当前的 Windows 帐户凭据实行身份验证。
        //可识其他值为 true、false、yes、no 以及与 true 等效的
sspi(强烈推荐)。所以一定要设置Trusted_Connection=
false,避防被人家”登录”、”注入语句”等
        string source6 = “Data Source=Aron1;Initial
Catalog=pubs;Integrated Security=SSPI;”;
        string source7 =
“Server=Aron1;Database=pubs;Trusted_Connection=True;”;
        //(use serverName\instanceName as Data Source to use an
specifik SQLServer instance, only SQLServer2000)
        //Integrated   Security或Trusted_Connection   ‘false’   当为  
false   时,
        //将在连年中钦点用户   ID   和密码。当为   true  
时,将采纳当前的   Windows   帐户凭据实行身份验证
        //VS2003:string
connStr=System.Configuration.ConfigurationSettings.AppSettings[“SQLCONNECTIONSTRING”];2003中用的
        //VS2005:string
connStr=System.Configuration.ConfigurationManager.ConnectionStrings[“SQLCONNECTIONSTRING”].ToString();
2005-8中用
        System.Configuration.ConnectionStringSettings i =
System.Configuration.ConfigurationManager.ConnectionStrings[“Northword2000”];
    }
}

 

 

//–参考  

web.config connectionStrings 数据库连接字符串的表明(转发)

相关文章