VS2012 C#远程连接SQLServer数据库服务器笔记本:系统WIN7; VS2012,;没有安装数据库相关服务器如SQLServer2005,2008,2012 等,另外一台台式机,且当做服务器来用吧台式机:系统winXP, VS2008,数据库服务器:SQL sever 2005本例实现笔记本在VS2012下远程连接到台式机里的数据库服务器,采用C#语言;对于选择不同的数据库服务器 可以依照本方法 一样设置在连接SQL Server 2005中,操作不当,经常会报下面的错误: 在建立与服务器的连接时出错在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 步骤:面 1—8 步骤全部在台式机上操作1. 对 SQL Server 2005进行配置打开 sql server 2005 的管理器(microsoft sql server manager studio) 身份验证选择:“Windows身份验证”,点击“连接",进入。
进入如下对象资源管理器 〒a Xii 4313543D5E524E5\SQLEXPRESS (SQL Server 9.0.3042 - 4: + 数据库+ O安全性■±- _J服务器对象=+■ lJ复制+ 管理名称ta数据库安全性 二服务器对象 〜复制 」管理2 打开“对象资源管理器中”的服务器 (4313543D5E24E5\SQLEXPRESS) 的属性 , 接着点击“安全性”,选中“SQL server和windows身份验证模式",然后“确定”3 设置一个账号的访问权限,如 sa: 在对象资源管理器下(注意跟上一步的安全性不一样了)安全性-》登录名一》sa,双击sa ,出现下面界面,(1)在“常规”项下,设置sa的登录密码;(注意SQL Server2005中,不允 许密码设置简单,否则会通不过)选“默认数据库”,本人自己建立的数据库是RSSI_caiji,也可选择系统自带的2)然后 在“状态”项下 设置如下图所示:选择“授予”,“启动 点“确定”4 配置 SQL sever 配置管理器在 SQL sever 配置管理器 中 启动 TCP/CP 协议, Named Pipes 协议如下SQL Server Configu文件〔日操作⑻查看他帮助(出4初世|囹眩| [g •® SQL Ser/erBE置管理器]本地;协议名称.状态 」i…g SQL Se^er 2005IpShared MemoryT .1. SQL Se^er 2005 网络配置^Named Pipes:毎SQLEXPRESS的协议T TCP/IPi 昱 SQL Native Client 配置TVIA5 配置 SQL Server 外围应用服务器 , 开启 SQL2005 远程连接功能开始-》所有程序-》Mcrosoft SQL Server 2005->配置工具->“SQL Server外围 应用配置器”: 打开如下6 选择 “ 服务和连接的外围应用配置器 ” -> 选择 Database Engine 节点的 “ 远程连 接”,选择“本地连接和远程连接”,同时选择“同时使用 TCP/IP 和 named pipes”。
躍后出理用性庁旳用HJHIR沿柏任坦尖生° 宗比I木饮用tfJJi取沿怕任按hj闸夕:xg国丿翌用j r耳」丁 1誘 辻,诘参阅帮助-I 目.SQLEXFRE^Hat abase Engine 服冬+远程连接SQL Server Browser选择组件,然后配置苴服务和连接d):默认情呪下,SQL Server 2005 Express Editing Ev: Developer Edi ti on只允!许本地客户端连接口此外,E】 Standard Edi ti on 和 Workgroup Edi ti on 也可逋过: 端连接「使用下面的选项可以更妝SQL Server侦听任 i^o TCP/IP是n泗# pipes上的首选协观,因为它蒂 较報'仅限本地连接(W本地连接和远程连接迅〕仅使用TCF/IF(X) 怛使用named pipes建〕Q 同时使用 TCF/IP 和 named pipes (B)7 然后需要重新启动数据库服务动动动.启自自重新启动 sql server 和 sql server browser:最好将 sql server browser 启 动模式设置为“自动 ”,以避免电脑重启后需手动再开启 sql server browserfeSQL Server (SQLEXPRESS). 正在运行^§)SQL Sender Brovjser 正在运行8 配置防火墙,关闭防火墙,这样就可以远程连接了。
网上说还有其他方式, 在防火墙 例外 处 添加什么数据库的实例本人试过无法访问建议从安全考 虑,可以再试验下下面在 笔记本 上实现对远程数据库的连接,采用两种方法第一种方法 :1.打开 VS2012 ,新建一个解决方案,在解决方案里 添加一个 SQL server 数据库项目 (名称自己定)我用 database1 为例2 在解决方案资源管理器 中, 点击 项目 database1 的属性(1)在“项目设置” 中将“目标平台” 改为 SQL server 2005 如下SQLCLRSQLCLR生戒默2她旧dboDatabasel* -f X项目遷Progratn.es生成&QLCMD变昼生成前凋试5用晤径代酚折目标平合⑴:腿|匚I手台[Mi:为公用对鎬弓用扩晟的Transact-SQL 貝乜涪至匚庄丈件名中包赫架植名称㈣V验证标识符的大小写⑼坯団类型数据密壶用保埶Taupac立用:匚I创建M本阳ql文件HE)寫規|SQL Server 2005圜士陶,”2)在“调试”中 对于 “目标连接字符串” 点击“编辑”显示如下:(1)选择 服务器名:4313543D5E524E5\SQLEXPRESS (台式机数据库服务器的 名称 )( 2)选择 “ 使用 SQLServer 身份验证” 输入 用户名 和 密码(自己在台 式机中设置的密码)(3)选择或输入一个数据库名, 我自己在台式机上建立的 RSSI_caiji (也可 选台式机里数据库服务器中自带的数据库。
)显示如下连接屋性盘建入言息躺弟!1选圭的数振源.或^击"更改" 曙另一^®源印磁1 初源⑸:Microsoft SQL Serv&r (SqlCli&nt] 更改i 匚:…駅务器名伺:4313543D5E524E5\SQLEXPRE£S 〒 刪新(B)登录^诙器Q使用Windows身份验证■⑥使用SQL Server身柏验证(◎用户窖心):sa密码(P〕: 13尿存密码⑸裁封一?^库*园翱磁 库名助RSSI_caij; 〒O睢JbL^g屋対牛〔H):~| 趣叽逻辑施:懿",■浹试注CD 晚圭 図肖(3)点击“测试连接”,会有 测试连接成功 的提示,表明成功远程连接上数 据库服务器僮用Windows身柠验证㈣Q僮用SQL Serv&r身汾验证(Q)用户名心):sa逻希L):连接屋性戟入信息到选定的憋据源r或羊击"更改"降另一源和徳提站源⑸:测试餾CD 确走 尿肖如果 sa 无法成功登录,检查 sa 的状态属性 ,是否动用了 登录)第二种方法:1打开VS2012,建立一个解决方案,方案里添加一个C#项目,属于控制台应用程序 (这个你因该都会吧,不说了)2 把 Program.cs 中的代码换成下面的代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;namespace connectionSql{class Program{static void Main(string[] args){〃声明 SqlConnection对象 myConnectionSqlConnection myConnection;〃创建连接数据库的字符串//4313543D5E524E5\SQLEXPRESS;注意下面的设置,server数据库服务器名称; database要连接的数据库名称uid登录名Pwd登录密码我设置为123456string connStr = "Server = 4313543D5E524E5;database = RSSI_caiji; uid = sa;pwd =123456";// string connStr = "Data source = .;Initial Catalog = RSSI_caiji;"+" Integrated Security = True;";〃构造 m yConnection 对象myConnection = new SqlConnection(connStr);try{〃连接数据库myConnection.Open();}catch (Exception e){〃发生错误后,抛出出错原因。
Console.WriteLine("{0} Second exception caught.", e); Console.ReadLine();}〃显示连接成功Console.WriteLine("连接成功! ”);〃关闭数据库连接myConnection.Close();然后生成解决方案-》调试-》开始执行显示如下表明成功连接上台式机上的数据库服务器。