无论使用那种数据库,都有和其他数据库进行通讯或者数据文件进行数据交换的需求。
创新互联公司专注于临渭区企业网站建设,成都响应式网站建设公司,商城系统网站开发。临渭区网站建设公司,为临渭区等地区提供建站服务。全流程按需定制制作,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务
在应用程序中进行信息交换和信息共享的时候,可以通过数据文件交换或者数据库间的数据互访。今天为大家分享如何使用SQLSERVER链接服务器访问数据库,实现数据共享。
链接服务器是SQLServer数据库自定义的虚拟服务器,它定义了访问OLEDB数据所需要的全部信息。
方法/步骤
步骤1:打开企业管理器,如下。
步骤2:选择数据库,安全性,点击新建链接服务器。
步骤3:选择链接服务器属性,常规,输入名称:TEST,选择ORACLE数据库提供程序,输入名称、数据源。
步骤4:进行安全性设置。本地登录,选择SQLServer数据库登录用户,远程登录用户和密码,输入远程连接数据库的用户和密码,选择用此安全上下文进行,输入远程登录用户和密码。
步骤5:点击TEST链接服务器下的表,我们可以访问ORACLE数据库的表了。
注意:产品名称要和所链接的服务器相对应,使用ORACLE数据库就要输入ORACLE,使用SQLServer就输入SQLServer。
END
注意事项
本地登录需要输入本地SQLServer的用户和密码。
SQLServer链接服务器可以通过配置读取到ORACLE数据库数据。
sqlserver是微软的中大型数据库管理系统。
你按照提示安装后,可以打开企业管理器,里面有默认装好的northwind北风数据库,这是个演示数据库,你可以进行数据表查询、增删改等操作,也可以在查询分析器里利用T-SQL语句进行查询修改。也可以自己建立新的数据库,通过程序进行访问
有很多SQL操作的书籍,建议你买一本看看,SQL语句的写法和数据表创建规则也就是数据库三范式不是几句话能说清的,希望对你有所帮助
1、添加引用
using System.Data.SqlClient;
2、建立连接调用
SqlConnection myConnection = new SqlConnection("数据库连接字符串");
//数据库连接字符串通常是Data Source=localhost;Initial Catalog=数据库名;User ID=用户名;Password=密码
SqlCommand myCommand = new SqlCommand();
myCommand.CommandText = string.Format("select count(*) from {0} where columName={1}",表明,列值);//构造SQL查询语句 String.Format (String, Object[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项。 myCommand.Connection = myConnection;
try
{
myCommand.Connection.Open();
int count = (int)myCommand.ExecuteScalar();
if (count 0)
{
//count大于0表示有,调用自己写的一个方法来更新
UpdateData();
}
else
{
小于0表示没有,调用这个方法来插入
InsertData();
}
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
//UpdateData方法
public void UpdateData()
{
SqlConnection myConnection = new SqlConnection("数据库连接字符串");
SqlCommand myCommand = new SqlCommand();
myCommand.CommandText = "用来更新的SQL语句";
myCommand.Connection = myConnection;
try
{
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
}
//InsertData方法
public void InsertData()
{
SqlConnection myConnection = new SqlConnection("数据库连接字符串");
SqlCommand myCommand = new SqlCommand();
myCommand.CommandText = "用来插入的SQL语句";
myCommand.Connection = myConnection;
try
{
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
}
-----这些都是基础的写法,可以将其封装在一个工具类中,方便调用。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
namespace DBUtility
{
public class SqlHelper
{
//通过配置文件(app.config:xml)读取连接字符串
public static string connectionString = ConfigurationManager .ConnectionStrings["ConnectionString"].ConnectionString;
//字段,通过连接字符串获取连接对象
private SqlConnection con = new SqlConnection(connectionString);
//属性,判断连接对象的状态并打开连接对象
public SqlConnection Con
{
get {
switch (con.State)
{
case ConnectionState.Broken:
con.Close(); //先正常关闭,释放资源
con.Open();
break;
case ConnectionState.Closed:
con.Open();
break;
case ConnectionState.Connecting:
break;
case ConnectionState.Executing:
break;
case ConnectionState.Fetching:
break;
case ConnectionState.Open:
break;
default:
break;
}
return con; }
set { con = value; }
}
//执行存储过程或者SQL语句并返回数据集DataSet
public DataSet GetDataSet(string strSQL, CommandType cmdType, params SqlParameter[] values)
{
SqlCommand cmd = PrepareCommand(strSQL, cmdType, values);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
//执行存储过程或者SQL语句并返回SqlDatareader
public SqlDataReader GetDataReader(string strSQL, CommandType cmdType, params SqlParameter[] values)
{
SqlCommand cmd = PrepareCommand(strSQL, cmdType, values);
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return dr;
}
//执行存储过程或者SQL语句并返回首行首列(新增方法的主键)
public object ExecuteScalar(string strSQL, CommandType cmdType, params SqlParameter[] values)
{
SqlCommand cmd = PrepareCommand(strSQL, cmdType, values);
return cmd.ExecuteScalar();
}
//执行存储过程或者SQL语句并返回受影响行数
public int ExecuteNonQuery(string strSQL, CommandType cmdType, params SqlParameter[] values)
{
SqlCommand cmd = PrepareCommand(strSQL, cmdType, values);
return cmd.ExecuteNonQuery();
}
//内部方法,实例化命令对象并配置相关属性
private SqlCommand PrepareCommand(string strSQL, CommandType cmdType,params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = Con;
cmd.CommandText = strSQL;
cmd.CommandType = cmdType;
cmd.CommandTimeout = 60;
cmd.Parameters.AddRange(values);
return cmd;
}
}
}