data source 和initial catalog
initial catalog与database的区别是什么
Initial Catalog:
DataBase:
两者没有任何区别只是名称不一样,就好像是人类的真实姓名与曾用名一样。。都可以叫你。
********************************************
Integrated Security=SSPI 这个表示以当前WINDOWS系统用户身去登录SQL SERVER服务器,如果SQL SERVER服务器不支持这种方式登录时,就会出错。
你可以使用SQL SERVER的用户名和密码进行登录,如:
"Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=数据库名;Data Source=192.168.0.1;User ID=sa;Password=密码"
***************************************************
Integrated Security - 或 - Trusted_Connection 'false' 当为 false 时,将在连接中指定用户 ID 和密码。当为 true 时,将使用当前的 Windows 帐户凭据进行身份验证。 可识别的值为 true、false、yes、no 以及与 true 等效的 sspi(强烈推荐)。
*************************************************
ADO.net 中数据库连接方式
System.Data.SqlClient.SqlConnection
常用的一些连接字符串(C#代码):
SqlConnection conn = new SqlConnection( “Server=(local);Integrated Security=SSPI;database=Pubs“);
SqlConnection conn = new SqlConnection(“server=(local)\NetSDK;database=pubs;Integrated Security=SSPI“);
SqlConnection conn = new SqlConnection(“Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;“);
SqlConnection conn = new SqlConnection(“ data source=(local);initial catalog=xr;integrated security=SSPI;
persist security info=False;workstation id=XURUI;packet size=4096; “);
SqlConnection myConn = new System.Data.SqlClient.SqlConnection(“Persist Security Info=False;Integrated
Security=SSPI;database=northwind;server=mySQLServer“);
SqlConnection conn = new SqlConnection( “ uid=sa;pwd=passwords;initial catalog=pubs;data source=127.0.0.1;Connect Timeout=900“);
region "私有变量"
/// <summary>
/// 表示一个到数据库的打开的连接
/// </summary>
private System.Data.SqlClient.SqlConnection Con = new SqlConnection();
/// <summary>
/// 表示执行对象是SQl还是存储过程
/// </summary>
private System.Data.SqlClient.SqlCommand Cmd = new SqlCommand();
/// <summary>
/// 表示用于填充 System.Data.DataSet 和更新数据库的一组数据命令和到数据库的连接
/// </summary>
private System.Data.SqlClient.SqlDataAdapter Dtapt = new SqlDataAdapter();
/// <summary>
/// 表示要在数据库中生成的事务
/// </summary>
private System.Data.SqlClient.SqlTransaction sqlTran;
/// <summary>
/// 提供从数据源读取数据行的只进流的方法
/// </summary>
private SqlDataReader dtrValue = null;
#endregion
#region"数据库连接处理"
/// <summary>
/// 获得webconfig中的 默认 Sql连接字符串
/// </summary>
private string strConSql
{
get
{
return System.Configuration.ConfigurationManager.AppSettings["SQLConntionStr"].ToString();
}
}
#endregion
#region "事务处理"
/// <summary>
/// 开始事务
/// </summary>
public void BeginTransaction()
{
if (Con.State == ConnectionState.Closed)
{
//打开连接
OpenCn();
//开始事务
if (sqlTran == null)
{
sqlTran = Con.BeginTransaction();
}
Cmd.Transaction = sqlTran;
}
}
/// <summary>
/// 提交事务
/// </summary>
public void CommitTransection()
{
sqlTran.Commit();
sqlTran.Dispose();
sqlTran = null;
CloseCn();
}
/// <summary>
/// 回滚事务
/// </summary>
public void RollbackTransection()
{
sqlTran.Rollback();
sqlTran.Dispose();
sqlTran = null;
CloseCn();
}
#endregion
#region"返回分页表数据Datatable [Read] 方式获取数据,数据量建议在查询结果在10000条记录内"
/// <summary>
/// 用于分页控件,返回需要显示页的数据和记录条数
/// </summary>
/// <param name="p_strSql">SQL语句</param>
/// <param name="p_CmdParms">SQL参数和其对应值</param>
/// <param name="p_intStart">开始记录</param>
/// <param name="p_intPageSize">每页显示记录条数</param>
/// <param name="out_intCount">返回记录条数</param>
/// <returns>查询数据集</returns>
protected DataTable ExecuteReadTable(string p_strSql, SqlParameter[] p_CmdParms, int p_intStart, int p_intPageSize, ref int out_intCount)
{
return ExecuteReadTable(CommandType.Text, p_strSql, p_CmdParms, p_intStart, p_intPageSize, ref out_intCount);
}
/// <summary>
/// 1. 根据存储过程和参数值得到DataTable 值
/// 2. 根据SQL的得到DataTable 值
/// </summary>
/// <param name="p_objCmdType">是存储过程还是SQL</param>
/// <param name="p_intStart">开始记录</param>
/// <param name="p_intPageSize">每页显示条数</param>
/// <param name="p_strSql">可是是SQL 也可以是存储过程</param>
/// <param name="p_CmdParms">SqlParameter参数列表</param>
/// <param name="out_intCount">返回总记录数</param>
/// <returns>返回DataTable</returns>
protected DataTable ExecuteReadTable(CommandType p_objCmdType, string p_strSql, SqlParameter[] p_CmdParms, int p_intStart, int p_intPageSize, ref int out_intCount)
{
DataTable dtb = new DataTable();
DateTime dtStart = DateTime.Now;
dtrValue = ExecuteReader(p_objCmdType, p_strSql, p_CmdParms);
if (dtrValue == null)
{
CloseCn();
return dtb;
}
int intColLength = dtrValue.FieldCount;
for (int i = 0; i < intColLength; i++)
{
//构造sql的table
dtb.Columns.Add(dtrValue.GetName(i), GetColType(i));
}
DataRow dr;
int k = 0;
if (dtrValue.HasRows)
{
//读取数据行值
while (dtrValue.Read())
{
//读取分页间数据
if (p_intStart <= k && k < p_intStart + p_intPageSize)
{
dr = dtb.NewRow();
//读取每列值
for (int j = 0; j < intColLength; j++)
{
//读取每列的值
dr[dtrValue.GetName(j)] = GetValue(j, GetFieldType(j).ToString());
}
dtb.Rows.Add(dr);
}
k++;
}
//删除了当前页所有数据则读上一页数据
if (k <= p_intStart)
{
while (k <= p_intStart)
{
p_intStart = p_intStart - p_intPageSize;
}
k = 0;
dtrValue = ExecuteReader(p_objCmdType, p_strSql, p_CmdParms);
if (dtrValue.HasRows)
{
while (dtrValue.Read())
{
//读取分页间数据
if (p_intStart <= k && k < p_intStart + p_intPageSize)
{
dr = dtb.NewRow();
//读取每列值
for (int j = 0; j < intColLength; j++)
{
//读取每列的值
dr[dtrValue.GetName(j)] = GetValue(j, GetFieldType(j).ToString());
}
dtb.Rows.Add(dr);
}
k++;
}
}
}
}
CloseCn();
SEHR.BLL.Function.AddSQLLog.WriteLog(p_strSql, dtStart.TimeOfDay.ToString(), DateTime.Now.TimeOfDay.ToString(), Convert.ToString(DateTime.Now - dtStart));
if (out_intCount == 0)
{
out_intCount = k;//获得总行数并且返回到页面
}
return dtb;
}
#endregion
#region "ExecuteReader 执行SQL语句"
/// <summary>
/// ExecuteReader
/// </summary>
/// <param name="p_objCmdType">命令类型 1CommandType.Text SQL语句 2CommandType.StoredProcedure存储过程</param>
/// <param name="p_strSQL">命令类型 1 SQL语句 2存储过程名称</param>
/// <param name="p_CmdParms">SqlParameter</param>
/// <returns>SqlDataReader</returns>
private SqlDataReader ExecuteReader(CommandType p_objCmdType, string p_strSQL, SqlParameter[] p_CmdParms)
{
SqlDataReader dtrRet = null;
try
{
//打开连接
OpenCn();
//命令行连接
Cmd.Connection = Con;
Cmd.CommandText = p_strSQL;
//是SQL语句还是存储过程
Cmd.CommandType = p_objCmdType;
//循环CmdParms值
if (p_CmdParms != null)
{
foreach (SqlParameter objParm in p_CmdParms)
{
Cmd.Parameters.Add(objParm);
}
}
dtrRet = Cmd.ExecuteReader();
Cmd.Parameters.Clear();
return dtrRet;
}
catch (Exception e)
{
string strErr = string.Empty; //p_CmdParms 参数值
if (p_CmdParms != null)
{
foreach (SqlParameter objParm in p_CmdParms)
{
strErr += objParm.ParameterName + " ='" + objParm.Value + "' ";
}
}
if (Con.State != ConnectionState.Closed && sqlTran == null)
{
Cmd.Parameters.Clear();
CloseCn();
}
// 写错误日志
SEHR.BLL.Function.AddMsgLog.AddError("SqlBase", e.Message + ""n"r SQL : " + p_strSQL + ""n"r 参数 : " + strErr, e.StackTrace);
return null;
}
finally
{
//如果连接打开并且没有事务和SqlDataReader事件 则关闭连接
if (Con.State != ConnectionState.Closed && sqlTran == null && dtrRet == null)
{
Cmd.Parameters.Clear();
CloseCn();
}
}
}
#endregion
data source 和initial catalog的更多相关文章
- C# 连接SQL Server数据库的几种方式--server+data source等方式
如何使用Connection对象连接数据库? 对于不同的.NET数据提供者,ADO.NET采用不同的Connection对象连接数据库.这些Connection对象为我们屏蔽了具体的实现细节,并提供了 ...
- How to: Secure Connection Strings When Using Data Source Controls
https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-3.0/dx0f3cf2(v=vs.85) When wo ...
- Collection View Programming Guide for iOS---(三)---Designing Your Data Source and Delegate
Designing Your Data Source and Delegate 设计你的数据源和委托 Every collection view must have a data source o ...
- 以Excel 作为Data Source,将data导入db
将Excel作为数据源,将数据导入db,是SSIS的一个简单的应用,下图是示例Excel,数据列是code和name 第一部分,Excel中的数据类型是数值类型 1,使用SSDT创建一个package ...
- Data source rejected establishment of connection, message from server: "Too many connections"解决办法
异常名称 //数据源拒绝从服务器建立连接.消息:"连接太多" com.MySQL.jdbc.exceptions.jdbc4.MySQLNonTransientConnection ...
- 不支持关键字“data source”
网上大部分都是说data source之间需要插入一个空格或者都是一些低级的拼写错误造成的,但是我没有出现这些情况,是通过把data source改成server解决的,具体config里面的代码如下 ...
- excel 导入数据库 / SSIS 中 excel data source --64位excel 版本不支持-- solution
当本地安装的excel(2013版) 是64-bit时:出现的以下两种错误 解决: 1. excel 导入数据库 , 如果文件是2007则会出现:“The 'Microsoft.ACE.OLEDB.1 ...
- [转] --- Error: “A field or property with the name was not found on the selected data source” get only on server
Error: “A field or property with the name was not found on the selected data source” get only on ser ...
- 错误解决:SharePoint Designer 2010编辑后,出现数据源控件未能执行插入命令,data source control failed to execute the insert command
打了SharePoint 2010 最新的SP 2的补丁,但是使用SharePoint Designer 2010 定义任何一个列表的“插入视图”时,总是出现标题那样的错误: 数据源控件未能执行插入命 ...
随机推荐
- 软件设计之UML—UML中的六大关系
http://www.cnblogs.com/hoojo/p/uml_design.html
- 关于用Java写的贪吃蛇游戏的一些感想
学习Java有那么一个月了,兴趣还是挺高的.然而最近老师布置的一个迷宫问题,着实让我头疼了一两个礼拜,以至于身心疲惫,困扰不安.无奈,暂且先放下这个迷宫问题,写个简单点的贪吃蛇程序,以此来提高低落的情 ...
- makefile 单独编译一个文件
#!/sh/bin .SUFFIXES:.c.o CDIR = /Users/shelley/c BINDIR = $(CDIR)/bin CC = gcc CFLAGS = -g -O RM = r ...
- 查文件大小列表 MySQL问题
du -sh /* | sort -nr 打开网站发现Too many connections The server quit without updating PID file (/usr/loca ...
- PHP中output control
Output Control 函数可以让你自由控制脚本中数据的输出.它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况.输出控制函数不对使用 header() 或 setcookie ...
- 对Qt for Android的评价(很全面,基本已经没有问题了,网易战网客户端就是Qt quick写的),可以重用QT积累20年的RTL是好事,QML效率是HTML5的5倍
现在Qt不要光看跨平台了,Qt也有能力和原生应用进行较量的.可以直接去Qt官网查看他和那些厂商合作.关于和Java的比较,框架和Java进行比较似乎不且实际.如果是C++和Java比较,网上有很多文章 ...
- java代码模拟先入先出,fifo
最近在做一个先入先出的出库.琢磨了一下,写了一个简单的java代码测试: public static void main(String[] args) { LinkedList q = new Lin ...
- 【POJ 1236 Network of Schools】强联通分量问题 Tarjan算法,缩点
题目链接:http://poj.org/problem?id=1236 题意:给定一个表示n所学校网络连通关系的有向图.现要通过网络分发软件,规则是:若顶点u,v存在通路,发给u,则v可以通过网络从u ...
- 【转】android 电容屏(三):驱动调试之驱动程序分析篇
关键词:android 电容屏 tp 工作队列 中断 坐点计算 电容屏主要参数平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310( ...
- js中的注意事项(持续整理)
1.兼容性 <div class="toutiao_r fl_r" id ="toutiao_r"></div> 这个div中有两个样式 ...