设为首页 收藏本站
查看: 567|回复: 0

[经验分享] C#测试SQL Server数据库连接程序

[复制链接]

尚未签到

发表于 2015-7-4 08:47:57 | 显示全部楼层 |阅读模式
参考文献:
  Sql Server的JDBC测试程序与远程连接

前言:
  之前写过一篇博客:Sql Server的JDBC测试程序与远程连接,现在来讲讲在.net 平台下如何连接sql server数据库。有多种方式可以连接数据库,分别是ODBC,OLEDB,ADO,ADO.NET。每一种连接所使用的驱动程序以及连接字符串都不相同,具体如何写数据库连接字符串可以参考这个网站http://www.connectionstrings.com/。上面列出了大多数数据源的数据库连接字符串。

ADO.NET
  首先我们将如何使用ado.net来连接数据库,这也是使用最频繁的方法了。参考程序如下:


DSC0000.gif DSC0001.gif View Code


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace SQLServerConnection
{
class Program
{
static void Main(string[] args)
{
//默认实例
//string connectionString = "Data Source=SERVER_NAME;Initial Catalog=AdventureWorks2008R2;User ID=sa;Password=sa12345";
//命名实例
string connectionString = "Data Source=SERVER_NAME\\SQL2012;Initial Catalog=AdventureWorks2012;User Id=sa;Password=sa12345";
// Assumes connectionString is a valid connection string.
using (SqlConnection connection = new SqlConnection(connectionString))
{
//打开连接
                connection.Open();
// Do work here.
SqlCommand sqlcmd = connection.CreateCommand();
//sqlcmd.CommandText = "select top 10 * from Person.Person;";

sqlcmd.CommandText = "select top 10 * from Person;";
SqlDataReader sqlreader = sqlcmd.ExecuteReader();
while (sqlreader.Read())
{
Console.WriteLine("\t{0}\t{1}",sqlreader["firstname"],sqlreader["lastname"]);
}
sqlreader.Close();
connection.Close();//因为使用了using,所以这一条语句可以不写,因为当离开using代码块以后,connection自动关闭
            }
}
}
}
  常见的SQLClient连接字符串有:


View Code


Integrated Security=Yes;Data Source=MyServer; Initial Catalog=MyDatabase;
Data Source=ServerName ;User ID=UserName;Password=UserPassword;
Data Source=ServerName\InstanceName;Integrated Security=Yes
  之所以说是使用ADO.NET是因为使用了SqlConnection这个连接类
  OLEDB


View Code


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
namespace OleConnection
{
class Program
{
static void Main(string[] args)
{
string connectionString = "Provider=SQLOLEDB;Data Source=T-WEIXU-W7\\SQL2012;Initial Catalog=AdventureWorks2012;Integrated Security=SSPI;";
// Assumes connectionString is a valid connection string.
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
//打开连接
                connection.Open();
// Do work here.
OleDbCommand sqlcmd = connection.CreateCommand();
sqlcmd.CommandText = "select top 10 * from Person.Person;";
//sqlcmd.CommandText = "select top 10 * from Person;";

OleDbDataReader sqlreader = sqlcmd.ExecuteReader();
while (sqlreader.Read())
{
Console.WriteLine("\t{0}\t{1}", sqlreader["firstname"], sqlreader["lastname"]);
}
sqlreader.Close();
connection.Close();
}
}
}
}
  下面是常见的OLEDB连接字符串:


View Code


Provider=SQLOLEDB;Data Source=ServerName;Integrated Security=SSPI;
Provider=SQLOLEDB;Data Source=ServerName;User Id=UserName;Pasword=UserPassword;
Provider=SQLOLEDB;Data Source=ServerName\InstanceName;Integrated Security=SSPI;
Provider=SQLNCLI11;Data Source=ServerName\InstanceName;Integrated Security=SSPI;
  打开D:\Program Files (x86)\Microsoft Data Access SDK 2.8\Tools\x86\RowsetViewer.exe中可以查看本机的oledb驱动程序。我的机器上就有比如



  • SQLOLEDB
  • SQLNCLI10
  • SQLNCLI11
  这样的三类oledb驱动程序,
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-82989-1-1.html 上篇帖子: [SQL server]存储过程事务 下篇帖子: EMS SQL Manager 2008 for SQL Server 3.2.0.2
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表