
2
登录后,右键选择“属性”。左侧选择“安全性”,选中右侧的“SQL Server 和 Windows 身份验证模式”以启用混合登录模式
3
选择“连接”,勾选“允许远程连接此服务器”,然后点“确定”
展开“安全性”,“登录名”;“sa”,右键选择“属性”
左侧选择“常规”,右侧选择“SQL Server 身份验证”,并设置密码
右击数据库选择“方面”
在右侧的方面下拉框中选择“服务器配置”;将“RemoteAccessEnabled”属性设为“True”,点“确定”
至此SSMS已设置完毕,先退出,再用sa登录,成功即表示sa帐户已经启用
打开sql server配置管理器
下面开始配置SSCM,选中左侧的“SQL Server服务”,确保右侧的“SQL Server”以及“SQL Server Browser”正在运行
在左则选择sql server网络配置节点下的sqlexpress的协议,在右侧的TCP/IP默认是“否”,右键启用或者双击打开设置面板将其修改为“是”
选择“IP 地址”选项卡,设置TCP的端口为“1433”
将"客户端协议"的"TCP/IP"也修改为“Enabled”
配置完成,重新启动SQL Server 2008。此时应该可以使用了,但是还是要确认一下防火墙。打开防火墙设置。将SQLServrexe(C:\Program Files\Microsoft SQL Server\MSSQL10SQLEXPRESS\MSSQL\Binn\sqlservrexe)添加到允许的列表中。1、打开SQL Server Management Studio;
2、连接到sql server 2008;
3、打开“服务器对象”->“链接服务器”;
4、右键“新建链接服务器”d出对话框;
5、常规里在“链接服务器”输入2000所在的实例名。一般是机器名;
6、安全性里添加一个登录,用于登录首先打开登录SQL Server 2012管理器,然后双击在安全性里的用户SA。
进入用户SA的属性界面,点击“状态”,单选框选项确保如图所示,按确定。
之后打开SQL Server配置管理器,点击SQL Server 服务选项,确定SQL Server是正在运行的。
如果想手动更改SQL数据库的连接端口,只要更改如下图的默认端口,SQL Server 2012 默认端口为1433。
最后,就是映射端口1433了,远程连接这个数据库时,格式为:Data Source=[域名或IP],[端口]。例如Data Source=11723222132,4646。如果端口为默认的1433,就不用填写端口,Data Source=11723222132。SQL Server 支持到其他 OLE DB 数据源的永久性连接或临时连接。永久性连接叫做链接服务器;为单个查询建立的临时连接叫做分布式查询。
Microsoft Excel 工作簿是一种可通过 SQL Server 以这种方式查询的 OLE DB 数据源。本文介绍了将 Excel 数据源配置为链接服务器所需的语法,以及使用分布式查询来查询 Excel 数据源所需的语法。
作为链接服务器查询 Excel
您可以使用企业管理器、系统存储过程或 SQL-DMO(分布式管理对象)将 Excel 数据源配置为 SQL Server 链接服务器。在所有的这些情况中,您总需要设置以下四个属性:
• 链接服务器要使用的名称。
• 连接要使用的 OLE DB 提供程序。
• Excel 工作簿的数据源或完整路径和文件名。
• 将目标标识为 Excel 工作簿的提供程序字符串。默认情况下,Jet 提供程序需要 Access 数据库。
系统存储过程 sp_addlinkedserver 也需要 @srvproduct 属性,该属性可以是任何字符串值。
使用企业管理器配置 Excel 链接服务器
1 在企业管理器中,单击以展开安全文件夹。
2 右键单击链接服务器,然后单击新建链接服务器。
3 在常规选项卡上,按照下列步骤 *** 作:a在第一个文本框中,为该链接服务器键入任意名称。b在服务器类型文本框中,单击其他数据源。c在提供程序名称下拉列表框中,单击 Microsoft Jet 40 OLE DB 提供程序。d在数据源文本框中,键入 Excel 文件的完整路径和文件名。e在提供程序字符串文本框中,键入 Excel 80 代表 Excel 97、2000 或 2002 工作簿。f单击确定以创建新的链接服务器。
4 单击以展开此新链接服务器的名称,从而展开它所包含的对象列表。
5 在新建链接服务器名称下,单击表。注意,工作表和命名区域将出现在右窗格中。
使用存储过程配置 Excel 链接服务器
您还可以使用系统存储过程 sp_addlinkedserver 将 Excel 数据源配置为链接服务器: DECLARE @RC int
DECLARE @server nvarchar(128)
DECLARE @srvproduct nvarchar(128)
DECLARE @provider nvarchar(128)
DECLARE @datasrc nvarchar(4000)
DECLARE @location nvarchar(4000)
DECLARE @provstr nvarchar(4000)
DECLARE @catalog nvarchar(128)
-- Set parameter values
SET @server = 'XLTEST_SP'
SET @srvproduct = 'Excel'
SET @provider = 'MicrosoftJetOLEDB40'
SET @datasrc = 'c:/book1xls'
SET @provstr = 'Excel 80'
EXEC @RC = [master][dbo][sp_addlinkedserver] @server, @srvproduct, @provider,
@datasrc, @location, @provstr, @catalog
如上所述,此存储过程另需一个任意字符串值作为 @srvproduct 参数的值,此参数在企业管理器配置中显示为“产品名称”。不使用 @location 和 @catalog 参数。
使用 SQL-DMO 配置 Excel 链接服务器
您可以使用 SQL 分布式管理对象从 Microsoft Visual Basic 或其他编程语言中将一个 Excel 数据源以编程方式配置为链接服务器。您必须也提供企业管理器配置中要求的那四个参数。 Private Sub Command1_Click()
Dim s As SQLDMOSQLServer
Dim ls As SQLDMOLinkedServer
Set s = New SQLDMOSQLServer
sConnect "(local)", "sa", "password"
Set ls = New SQLDMOLinkedServer
With ls
Name = "XLTEST_DMO"
ProviderName = "MicrosoftJetOLEDB40"
DataSource = "c:/book1xls"
ProviderString = "Excel 80"
End With
sLinkedServersAdd ls
sClose
End Sub
查询 Excel 链接服务器
将 Excel 数据源配置为链接服务器之后,您可以方便地通过“查询分析器”或其他客户端应用程序查询其数据。例如,为了检索存储在 Excel 文件 Sheet1 中的数据行,以下代码使用了您使用 SQL-DMO 配置的链接服务器: SELECT FROM XLTEST_DMOSheet1$
您还可以使用 OPENQUERY 以“passthrough”(传递)方式查询 Excel 链接服务器,如下所示: SELECT FROM OPENQUERY(XLTEST_DMO, 'SELECT FROM [Sheet1$]')
OPENQUERY 需要的第一个参数是链接服务器名称。工作表名称之间需要用分隔符分开,如上所示。
您还可以使用以下查询获得 Excel 链接服务器上所有可用表的列表: EXECUTE SP_TABLES_EX 'XLTEST_DMO'
您可以使用 SQL Server 分布式查询和 OPENDATASOURCE 或 OPENROWSET 函数临时查询很少访问的 Excel 数据源,如下所示: SELECT FROM OPENDATASOURCE('MicrosoftJetOLEDB40',
'Data Source=c:/book1xls;Extended Properties=Excel 80')Sheet1$
注意,OPENROWSET 对第二个(“提供程序字符串”)参数使用一种非常规语法: SELECT FROM OPENROWSET('MicrosoftJetOLEDB40',
'Excel 80;Database=c:/book1xls', Sheet1$)
ActiveX 数据对象 (ADO) 开发人员按照常规应对 OPENROWSET 的第二个(“提供程序字符串”)参数使用的语法会 SELECT FROM OPENROWSET('MicrosoftJetOLEDB40',
'Data Source=c:/book1xls;Extended Properties=Excel 80', Sheet1$)
造成 Jet 提供程序出现以下错误:
Could not find installable ISAM
有时候我们希望在一个sqlserver下访问另一个sqlserver数据库上的数据 或者访问其他oracle数据库上的数据 要想完成这些 *** 作 我们首要的是创建数据库链接
数据库链接能够让本地的一个sqlserver登录用户映射到远程的一个数据库服务器上 并且像 *** 作本地数据库一样 那么怎么创建数据库链接呢我现在有两种方法可以实现
第一种 在 sqlserver 企业管理器中 建立 这个比较简单的 首先在 安全性 〉数据库链接 上点右键 在出现的菜单中点 新建数据库链接 然后会d出一个界面 需要我们填写的有 链接服务器(这是一个名字 自己根据情况自行定义 以后就要通过他进行远程访问了) 提供程序名称(这个就是选择数据驱动 根据数据库类型来选择 不能乱选 否则链接不上的) 数据源(对于sqlserver就是远程数据库服务器的主机名或者IP 对于 oracle 就是在 oracle net config 中配置的别名) 安全上下文用户和口令(也就是远程服务器的用户和口令)
第二种 利用系统存储过程
创建一个sqlserver对sqlserver的数据库链接
exec sp_addlinkedserver link_northsnow SQLOLEDB 远程服务器主机名或域名或ip地址
exec sp_addlinkedsrvlogin link_northsnow false null 用户名 用户口令
创建一个sqlserver对Oracle的数据库链接
exec sp_addlinkedserver link_ora Oracle MSDAORA oracle数据库服务器别名
exec sp_addlinkedsrvlogin link_ora false sa 用户名 用户口令
有了数据库链接我们就可以使用了 对于sqlserver和oracle中的使用方法是有区别的
对于sqlserver
create view v_lhsy_user as select from link_northsnow lhsy dbo sys_user
select from v_lhsy_user
其中lhsy为远程的数据库名
sys_user为表名
对于 oracle
create view vvv as select from link_ora NORTHSNOW SYS_USER
select from vvv;
其中northsnow为远程oracle数据库服务器的一个用户名 SYS_USER为该用户在该服务器上的一个表 要非常注意的是 数据库链接(link_ora)后面有两个点( ) 再往后面必须全部大写 查询的对象一般为表格或者视图 不能查询同义词
要想删除数据库链接 也有两种方法
一种是在企业管理器中 *** 作 这个简单
另一种是用系统存储过程
lishixinzhi/Article/program/SQLServer/201311/225331、展开服务器对象-->链接服务器-->右击"新建链接服务器"
2、输入链接服务器的IP或者输入域名(域名会更方便一些,可以更换服务器IP地址)
3、设置链接服务器的安全性(登录的用户名和密码)
4、创建成功后就可以看到了,
5、现在就可以使用链接服务器了,用本地登录SqlServer,新建一个查询,输入
6、Select From [链接服务器名][远程数据库名][所有者][表名]
7、比如 Select from [3GXXXXNET][cntvs][dbo][tbUsers]
8、如果可以查询到数据说明一切正常喽
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)