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的更多相关文章

  1. C# 连接SQL Server数据库的几种方式--server+data source等方式

    如何使用Connection对象连接数据库? 对于不同的.NET数据提供者,ADO.NET采用不同的Connection对象连接数据库.这些Connection对象为我们屏蔽了具体的实现细节,并提供了 ...

  2. 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 ...

  3. 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 ...

  4. 以Excel 作为Data Source,将data导入db

    将Excel作为数据源,将数据导入db,是SSIS的一个简单的应用,下图是示例Excel,数据列是code和name 第一部分,Excel中的数据类型是数值类型 1,使用SSDT创建一个package ...

  5. Data source rejected establishment of connection, message from server: "Too many connections"解决办法

    异常名称 //数据源拒绝从服务器建立连接.消息:"连接太多" com.MySQL.jdbc.exceptions.jdbc4.MySQLNonTransientConnection ...

  6. 不支持关键字“data source”

    网上大部分都是说data source之间需要插入一个空格或者都是一些低级的拼写错误造成的,但是我没有出现这些情况,是通过把data source改成server解决的,具体config里面的代码如下 ...

  7. excel 导入数据库 / SSIS 中 excel data source --64位excel 版本不支持-- solution

    当本地安装的excel(2013版) 是64-bit时:出现的以下两种错误 解决: 1. excel 导入数据库 , 如果文件是2007则会出现:“The 'Microsoft.ACE.OLEDB.1 ...

  8. [转] --- 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 ...

  9. 错误解决:SharePoint Designer 2010编辑后,出现数据源控件未能执行插入命令,data source control failed to execute the insert command

    打了SharePoint 2010 最新的SP 2的补丁,但是使用SharePoint Designer 2010 定义任何一个列表的“插入视图”时,总是出现标题那样的错误: 数据源控件未能执行插入命 ...

随机推荐

  1. alloc & init & dealloc

    在Objective-C中,alloc,init和dealloc是经常使用的函数,那么它们内部到底是如何实现的呢?通过查看libobjc运行时库,可以发现他们的工作原理. 1 alloc alloc的 ...

  2. Linux下安装MySQL步骤

    1.下载安装包(这里是32位的): MySQL-client-5.6.13-1.rhel5.i386.rpm MySQL-server-5.6.13-1.rhel5.i386.rpm 2.安装 rpm ...

  3. java设计模式之Proxy(代理模式)

    java设计模式之Proxy(代理模式) 2008-03-25 20:30 227人阅读 评论(0) 收藏 举报 设计模式javaauthorizationpermissionsstringclass ...

  4. http://www.cnblogs.com/Joyes1989/archive/2013/06/28/3161739.html centos 输入法安装切换

    昨天装了一个centos  安装输入法的时候  让我有点纠结  全英文的 读不懂

  5. oc语言--语法

    一.OC简介 1.简介 它是C语言的基础上,增加了一层面向对象语法 OC完全兼容C语言 可以在OC代码中混入C语言代码,甚至是C++代码 可以使用OC开发mac OS X平台和IOS平台的应用程序 2 ...

  6. 超大文件上传到Azure Linux虚拟机最佳实践

    客户在实际进行迁移的时候,往往碰到需要将本地数据中心的超大文件,比如单个200GB的文件,或者总共1TB的无数文件上传到Azure上的情况,尤其是传到Azure的Linux虚拟机的场景,这种场景包括: ...

  7. MySQL库目录下db.opt文件的作用

    细心的朋友可能会发现有时候在某些库目录下有个 db.opt 文件,那这个文件是干什么用的呢?如果你用vi等编辑器打开看的话,内容很简单,是用来记录该库的默认字符集编码和字符集排序规则用的.也就是说如果 ...

  8. usb mass storage之旅

    前面总结了usb hid keyboard,现在总结usb mass storage,在枚举阶段没什么好总结的,hid和mass storage差不多,都是同样的枚举过程,但是在他们的配置描述符.接口 ...

  9. QT---线程间通信(要先编译libqt-mt.so?)

    在 Qt 系统中,运行着一个GUI 主事件线程,这个主线程从窗口系统中获取事件,并将它们分发到各个组件去处理.在 QThread 类中有一种从非主事件线程中将事件提交给一个对象的方法,也就是 QThr ...

  10. 2014.8.3情人节欢乐赛【Benny的农场】

    Benny的农场 (farm.pas/.c/.cpp) 时间限制:1s.空间限制:128MB 题目描述: Benny有一片农田需要灌溉.农田的形状为矩形,并被分为许多小块.每一块中都有一些水管.共有1 ...