sql数据库

ADO.NET连接池机制

落花浮王杯 提交于 2020-03-24 00:36:09
为什么需要连接池 剖析一个技术第一个要问的是,这项技术为什么存在。 对于每一个到SQL Server的连接,都需要经历TCP/IP协议的三次握手,身份认证,在SQL Server里建立连接,分配资源等。而当客户端关闭连接时,客户端就会和SQL Server终止物理连接。但是,我们做过数据库开发的人都知道,每次操作完后关闭连接是再正常不过的事了,一个应用程序即使在负载不大的情况下也需要不停的连接SQL Server和关闭连接,同一个应用程序同时也可能存在多个连接。 因此,如果不断的这样建立和关闭连接,会是非常浪费资源的做法。因此Ado.net中存在连接池这种机制。在对SQL Server来说的客户端的应用程序进程中维护连接池。统一管理Ado.net和SQL Server的连接,既连接池保持和SQL Server的连接,当Connection.Open()时,仅仅从连接池中分配一个已经和SQL Server建立的连接,当Connection.Close()时,也并不是和SQL Server物理断开连接,仅仅是将连接进行回收。 因此,连接池总是能维护一定数量的和SQL Server的连接,以便应用程序反复使用这些连接以减少性能损耗。 重置连接的sys.sp_reset_connection 连接是有上下文的,比如说当前连接有未提交的事务,存在可用的游标,存在对应的临时表

工作三年了,该报多少工资?

天大地大妈咪最大 提交于 2020-03-23 19:48:05
  本人自从毕业后都在长沙工作,工资待遇一直都很一般,到现在才3500/月,做的项目都是些中小型的项目,没干过什么大项目,平时工作也不是很忙,也没在项目当中学习过什么很牛逼的技术,有时间自己也自学了不少,就想以后走人能够找份好工作,最近想打算辞职去广州或者深圳,谋得一份好工作,也不想非得要很高的工资,想听听大家的建议,得开都少工资才合适?下面提供我自己简历的掌握技术的那一部分: 熟悉基于 C# 的 B/S 和 C/S 模式开发。 熟悉Javascript,Jquery 等脚本开发语言和框架。 熟悉 Linq , Asp.net Ajax , Asp.net 服务器端控件开发。 熟悉 C# 设计模式。 了解 CLR(都是在CLR Via C#书上学的) 熟悉 MVC , EF 。 熟悉 SQLServer2005 数据库,精通 SQL 语句 ,存储过程和触发器的编写。 熟悉 SQL 语句的查询优化,有较强的数据分析能力。 请各位帮忙建议下,在此谢过!!! 来源: https://www.cnblogs.com/chenlinfei/p/3200349.html

Microsoft Sync Framework同步数据库 2:同步SQL Server和SQL Server Compact示例

匆匆过客 提交于 2020-03-23 17:32:45
同步SQL Server和SQL Server Compact示例 本篇文章通过使用 Sync Framework同步数据库的一个完整示例讲述了 执行常见同步任务的操作步骤。该示例旨在说明如何通过使用 Sync Framework 同步 SQL Server 数据库(包括 SQL Server Express 和 SQL Server Compact)。 创建示例服务器数据库 这里,我们将创建一个示例 SQL Server 数据库,以后在同步应用场景中将会使用该数据库。下面是创建该数据库的详细步骤: 1.启动SQL Server Management Studio(SSMS),连接到SQL Server服务器。 2.新建一个查询,输入并运行一下SQL脚本: USE [master] GO IF EXISTS(SELECT name FROM sys.databases WHERE name = 'SyncDB') DROP DATABASE SyncDB CREATE DATABASE [SyncDB] GO USE [SyncDB] GO CREATE TABLE [dbo].[Products]( [ID] [int] NOT NULL, [Name] [nvarchar](50) NOT NULL, [ListPrice] [money] NOT NULL

Java操作DB2 XML数据实践

爱⌒轻易说出口 提交于 2020-03-23 14:03:01
Java操作DB2 XML数据实践 自学了90分钟的DB2 XQuery,还不很熟悉,就要在项目中用了,心里很不踏实,还是先跑个CRUD的Demo看看,以免走弯路。 代码很粗糙,主要目的是看看JDBC是否能很好的执行这种新SQL,呵呵。 另外,在此之前,看到Oracle老大已经开始实现一个操作XML数据的规范,目前还没有正式出台,希望Sun能尽快跟进,将标准的API接口定出来,以支持广大的Java社区。项目有期限,我们也没时间等Sun给我们做好任何东西,自己动手实现吧。 下面是我做的一个Demo,希望能给正在研究这一块的朋友一点参考,XQuery SQL代码参考了DB2官方文档。 一、实现一个简单的数据库工具 import java.sql.*; /** * 简单的数据连接工具 * File: DBUtils.java * User: leizhimin * Date: 2008-3-18 15:19:12 */ public class DBUtils { public static final String url = "jdbc:db2: //192.168.3.143:50000/lavasoft"; public static final String username = "lavasoft" ; public static final String password

T-SQL查询进阶--深入浅出视图

血红的双手。 提交于 2020-03-23 12:08:17
视图可以看作定义在SQL Server上的虚拟表.视图正如其名字的含义一样,是另一种查看数据的入口.常规视图本身并不存储实际的数据,而仅仅存储一个Select语句和所涉及表的metadata. 视图简单的理解如下: 通过视图,客户端不再需要知道底层table的表结构及其之间的关系。视图提供了一个统一访问数据的接口。 为什么要使用视图(View) 从而我们不难发现,使用视图将会得到如下好处: 视图隐藏了底层的表结构,简化了数据访问操作 因为隐藏了底层的表结构,所以大大加强了安全性,用户只能看到视图提供的数据 使用视图,方便了权限管理,让用户对视图有权限而不是对底层表有权限进一步加强了安全性 视图提供了一个用户访问的接口,当底层表改变后,改变视图的语句来进行适应,使已经建立在这个视图上客户端程序不受影响 视图(View)的分类 视图在SQL中可以分为三类 普通视图(Regular View) 索引视图(Indexed View) 分割视图(Partitioned View) 下面从这几种视图类型来谈视图 普通视图(Rugular View) 普通视图由一个Select语句所定义,视图仅仅包含其定义和被引用表的metadata.并不实际存储数据。MSDN中创建视图的模版如下: CREATE VIEW [ schema_name . ] view_name [ (column [ ,..

C#工具类OracleHelper,基于Oracle.ManagedDataAccess.Client封装

£可爱£侵袭症+ 提交于 2020-03-23 10:41:08
基于Oracle.ManagedDataAccess.Client封装的Oracle工具类OracleHelper,代码如下: using System; using System.Data; using System.Collections.Generic; using System.Configuration; using System.Text; using System.IO; using Oracle.ManagedDataAccess.Client; //using System.Data.OracleClient; System.Data.OracleClient类已经不推荐使用 namespace Fly.Util.DataBase { /// <summary> /// Oracle数据库操作类 /// </summary> public static class OracleHelper { /// <summary> /// 执行数据库非查询操作,返回受影响的行数 /// </summary> /// <param name="connectionString">数据库连接字符串</param> /// <param name="cmdType">命令的类型</param> /// <param name="cmdText">Oracle存储过程名称或PL

解Bug之路-中间件"SQL重复执行"

偶尔善良 提交于 2020-03-23 10:28:02
3 月,跳不动了?>>> 前言 我们的分库分表中间件在线上运行了两年多,到目前为止还算稳定。在笔者将精力放在处理各种灾难性事件(例如中间件物理机宕机/数据库宕机/网络隔离等突发事件)时。竟然发现还有一些奇怪的corner case。现在就将排查思路写成文章分享出来。 Bug现场 应用拓扑 应用通过中间件连后端多个数据库,sql会根据路由规则路由到指定的节点,如下图所示: 错误现象 应用在做某些数据库操作时,会发现有比较大的概率失败。他们的代码逻辑是这样: int count = updateSql(sql1); ... // 伪代码 int count = updateSql("update test set value =1 where id in ("100","200") and status = 1; if( 0 == count ){ throw new RuntimeException("更新失败"); } ...... int count = updateSql(sql3); ... 即每做一次update之后都检查下是否更新成功,如果不成功则回滚并抛异常。 在实际测试的过程中,发现经常报错,更新为0。而实际那条sql确实是可以更新到的(即报错回滚后,我们手动执行sql可以执行并update count>0)。 中间件日志 笔者根据sql去中间件日志里面搜索

.net中DBHelper(Oracle版)

孤街浪徒 提交于 2020-03-23 09:19:15
上篇说的是操作的sqlServer版,因为现在公司需要用的是Oracle数据,之前没弄过,通过网上查加自己的一些实际验证贴上来,主要是方便自己查看使用,同时也希望帮到有需要的朋友; 以下是配置文件的连接串,前提是确定你的oracle配置好 <connectionStrings> <!--Oracle 连接串--> <add name="oracleconn" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ORCL)));User ID=scott;Password=tiger;Unicode=True" providerName="System.Data.OracleClient"/> </connectionStrings> <appSettings> 这个命名空间是必要的 using System.Data.OracleClient; 生打出来是没有的,需要引用添加上,就可以智能提示出来了 public class DBOracleHelper { public static OracleCommand cmd = null; public static

C# SqlHelper

天涯浪子 提交于 2020-03-23 08:48:01
singSystem;usingSystem.Collections.Generic;usingSystem.Configuration;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceCarHailing.Base{///<summary>///数据库帮助类///</summary>publicclassSqlHelp{///<summary>///创建一个已打开的连接///</summary>///<returns></returns>privatestaticSqlConnectionCreateConn(){SqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString);conn.Open();returnconn;}///<summary>///执行sql语句,返回受影响的行数///</summary>///<paramname="sql"></param>///<returns></returns>publicstaticintExecuteNonQuery

MyBaits理解?

自作多情 提交于 2020-03-23 06:59:23
(1)MyBaits是一个基于Java的持久层框架,支持普通或定制化SQL查询、存储过程以及高级映射,使用XML或注解来配置和映射信息。 (2)应用程序使用SQLSessionFactory实例,一个SQLSessionFactory实例可以通过SQLSessionFactoryBuilder获得。SQLSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。 (3)SQL写在xml里,便于统一管理和优化,解除SQL与程序代码的耦合,通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试,提高了可维护性。 (4)提供映射标签,支持对象与数据库的orm字段关系映射,支持编写动态SQL,支持对象关系组建维护。 (5)总体流程:<1>加载配置并初始化<2>接收调用请求<3>处理操作请求<4>返回处理结果将最终的处理结果返回。 (6)处理过程: <1>根据SQL的ID查找对应的MappedStatement对象。 <2>根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。 <3>获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。 <4>根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理