一:C# 连接SQL数据库
1.用SqlServer数据库,windows身份验证模式
<add name="TestSqlSqever" providerName="System.Data.SqlClient" connectionString="Data Source=127.0.0.1;Initial Catalog=TestUserInfo;Integrated Security=SSPI;" />
2.用VS自带的数据
<add name="TestSqlSqever" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-WebAppTestSql-20150322161952;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-WebAppTestSql-20150322161952.mdf" />
3.用Sql Server数据库,SqlServer身份验证
<add name="TestSqlSqever" providerName="System.Data.SqlClient" connectionString="Data Source=.;Database=TestUserInfo;Trusted_Connection=false;User ID=sa;Password=sa" />
1.当设置Integrated Security为 True 的时候,连接语句前面的 UserID, PW 是不起作用的,即采用windows身份验证模式。只有设置为 False 或省略该项的时候,才按照 UserID, PW 来连接。 Integrated Security 还可以设置为:sspi ,相当于 True,建议用这个代替 True,SSPI:Microsoft安全支持提供器接口(SSPI)是定义得较全面的公用API,用来获得验证、信息完整性、信息隐私等集成安全服务,以及用于所有分布式应用程序协议的安全方面的服务。
2.Trusted_Connection和Integrated Security的效果一样, Trusted_Connection=true,将使用当前的Windows 帐户凭据进行身份验证 ,Trusted_Connection=false;将不采用信任连接方式(也即不采用Windows验证方式),而改由SQL Server验证方式 ,也就是UserID, PW 来连接。
3.AttachDBFilename属性指定连接打开的时候动态附加到服务器上的数据库文件的位置。这个属性可以接受数据库的完整路径和相对路径(例如使用|DataDirectory|语法),在运行时这个路径会被应用程序的 App_Data 目录所代替。
4.Initial Catalog 等同于 Database,两者没有任何区别只是名称不一样。
5.Data Source=.与Data Source=127.0.0.1一样都是调用的是本地数据库,当调用的是服务器的时候改用服务器的IP地址。
二:获取配置文件中的数据库链接字符串
ConfigurationManager.ConnectionStrings["TestSqlSqever"].ToString();
三:C#其他的链接数据可配置
1.Oracle连接数据库配置,需要添加OracleClient引用
<connectionStrings> <add name="TestSqlSqever" providerName="System.Data.OracleClient" connectionString="Data Source=127.0.0.1;Initial Catalog=TestUserInfo;User ID=sa;Password=sa" /> </connectionStrings>
2.MySql连接数据库配置,需要天界MySql.Data.dll的引用
<add name="TestSqlSqever" connectionString="server=127.0.0.1;database=TestUserInfo;User ID=sa;Password=sa" />