萌萌妈妈 发表于 2015-1-16 22:34:45

MSSQL网页编程之ADO.net中数据库毗连体例

为了在某种程序上弥补这一缺陷,许多SQL命令都有一个DELAY_KEY_WRITE项。这个选项的作用是暂时制止MySQL在该命令每插入一条新记录和每修改一条现有之后立刻对索引进行刷新,对索引的刷新将等到全部记录插入/修改完毕之后再进行。ado|数据|数据库|数据库毗连
在MSDN中,.net的数据库毗连字符串都有具体的申明,我这里以代码典范的体例排列一些,详细的每项代表的意义能够参看MSDN.

ADO.net中数据库毗连体例(微软供应)

微软供应了以下四种数据库毗连体例:
System.Data.OleDb.OleDbConnection
System.Data.SqlClient.SqlConnection
System.Data.Odbc.OdbcConnection
System.Data.OracleClient.OracleConnection
上面我们以典范的体例,来顺次申明:

System.Data.SqlClient.SqlConnection
经常使用的一些毗连字符串(C#代码):

SqlConnectionconn
=newSqlConnection("Server=(local);IntegratedSecurity=SSPI;database=Pubs");

SqlConnectionconn
=newSqlConnection("server=(local)NetSDK;database=pubs;IntegratedSecurity=SSPI");

SqlConnectionconn=newSqlConnection(
"DataSource=localhost;IntegratedSecurity=SSPI;InitialCatalog=Northwind;");

SqlConnectionconn=newSqlConnection(
"datasource=(local);initialcatalog=xr;integratedsecurity=SSPI;
persistsecurityinfo=False;workstationid=XURUI;packetsize=4096;");

SqlConnectionmyConn=new
System.Data.SqlClient.SqlConnection("PersistSecurityInfo=False;Integrated
Security=SSPI;database=northwind;server=mySQLServer");

SqlConnectionconn=newSqlConnection(
"uid=sa;pwd=passwords;initialcatalog=pubs;datasource=127.0.0.1;ConnectTimeout=900");

更多字符串联接申明请看MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataSqlClientSqlConnectionClassConnectionStringTopic.asp

System.Data.OleDb.OleDbConnection
经常使用的一些毗连字符串(C#代码):

OleDbConnectionconn=newOleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:MyWeb815GrocerToGo.mdb");

OleDbConnectionconn=newOleDbConnection(
@"Provider=Microsoft.Jet.OLEDB.4.0;Password=;
UserID=Admin;DataSource=grocertogo.mdb;");

OleDbConnectionconn=newOleDbConnection(
"Provider=MSDAORA;DataSource=ORACLE8i7;PersistSecurityInfo=False;IntegratedSecurity=yes");

OleDbConnectionconn=newOleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:inLocalAccess40.mdb");

OleDbConnectionconn=newOleDbConnection(
"Provider=SQLOLEDB;DataSource=MySQLServer;IntegratedSecurity=SSPI");

更多字符串联接申明请看MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataOleDbOleDbConnectionClassConnectionStringTopic.asp?frame=true


System.Data.OracleClient.OracleConnection
经常使用的一些毗连字符串(C#代码):

OracleConnectionmyConn=newSystem.Data.OracleClient.OracleConnection(
"DataSource=Oracle8i;IntegratedSecurity=yes");



更多字符串联接申明请看MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataOracleClientOracleConnectionClassConnectionStringTopic.asp?frame=true


System.Data.Odbc.OdbcConnection
经常使用的一些毗连字符串(C#代码):


OdbcConnectionconn=newOdbcConnection(
"Driver={SQLServer};Server=MyServer;Trusted_Connection=yes;Database=Northwind;");

OdbcConnectionconn=newOdbcConnection(
"Driver={MicrosoftODBCforOracle};Server=ORACLE8i7;
PersistSecurityInfo=False;Trusted_Connection=yes");

OdbcConnectionconn=newOdbcConnection(
"Driver={MicrosoftAccessDriver(*.mdb)};DBQ=c:in
wind.mdb");

OdbcConnectionconn=newOdbcConnection(
"Driver={MicrosoftExcelDriver(*.xls)};DBQ=c:inook1.xls");


OdbcConnectionconn=newOdbcConnection(
"Driver={MicrosoftTextDriver(*.txt;*.csv)};DBQ=c:in");

OdbcConnectionconn=newOdbcConnection("DSN=dsnname");

更多字符串联接申明请看MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataOdbcOdbcConnectionClassConnectionStringTopic.asp?frame=true


其他厂商供应的数据库毗连:

DB2ConnectionmyConn=newIBM.Data.DB2.DB2Connection(
"DATABASE=SAMPLE;UID=<username>;PWD=<password>;");

DB2ConnectionmyConn=newIBM.Data.DB2.DB2Connection("DATABASE=SAMPLE");


BdpConnectionmyConn=newBorland.Data.Provider.BdpConnection("assembly=Borl
and.Data.Mssql,Version=1.1.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b;ve
ndorclient=sqloledb.dll;osauthentication=False;database=<database>;usernam
e=<user>;hostname=<host>;password=<password>;provider=MSSQL");

BdpConnectionmyConn=newBorland.Data.Provider.BdpConnection("assembly=Borl
and.Data.Db2,Version=1.1.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b;ve
ndorclient=db2cli.dll;database=<database>;username=<user>;
password=<password>;provider=DB2");


ConnectionPooling


在SQLServer、OLEDB和.NET框架布局中的DataProvider中,都供应了隐式的毗连池毗连撑持。你能够在ConnectionString中指定分歧的参数值把持毗连池的举动。好比上面的例子使OLEDB的毗连池有效并主动地举行事件处置:
Provider=SQLOLEDB;OLEDBServices=-4;DataSource=localhost;IntegratedSecurity=SSPI;
在SQLServer.NETDataProvider中供应了以下参数设置把持毗连池的举动:ConnectionLifttime、ConnectionReset、Enlist、MaxPoolSize、MinPoolSize和Pooling。

更多半据库毗连信息,和非ADO.net的毗连字符串能够参看:
http://www.connectionstrings.com/
--转载
闪回的目的是要让数据库在commit之后,还能恢复到之前的某个状态,整库或指定的表。

再现理想 发表于 2015-1-17 07:42:28

Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。

小魔女 发表于 2015-1-17 23:50:28

微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。

金色的骷髅 发表于 2015-1-21 10:43:06

其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!

萌萌妈妈 发表于 2015-1-30 15:45:22

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。

乐观 发表于 2015-2-6 13:52:11

原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。

分手快乐 发表于 2015-2-16 08:45:38

是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。

变相怪杰 发表于 2015-3-5 02:28:47

呵呵,这就是偶想说的

因胸联盟 发表于 2015-3-11 22:45:13

groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果。

admin 发表于 2015-3-19 15:45:36

如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。

不帅 发表于 2015-3-28 21:18:18

你可以简单地认为适合的就是好,不适合就是不好。
页: [1]
查看完整版本: MSSQL网页编程之ADO.net中数据库毗连体例