当前位置:文档之家› javabean对象自动赋值给另一个javabean对象

javabean对象自动赋值给另一个javabean对象

javabean对象自动赋值给另一个javabean对象
javabean对象自动赋值给另一个javabean对象

javabean对象自动赋值给另一个javabean对象

把JavaBean的from的值自动set给to,省略了自己从from中get然后再set给to

public static Object convertBean2Bean(Object from, Object to) {

try {

BeanInfo beanInfo = Introspector.getBeanInfo(to.getClass());

PropertyDescriptor[] ps = beanInfo.getPropertyDescriptors();

for (PropertyDescriptor p : ps) {

Method getMethod = p.getReadMethod();

Method setMethod = p.getWriteMethod();

if (getMethod != null && setMethod != null) {

try {

Object result = getMethod.invoke(from);

setMethod.invoke(to, result);

} catch (Exception e) {

// 如果from没有此属性的get方法,跳过

continue;

}

}

}

} catch (Exception e) {

e.printStackTrace();

}

return to;

}

/**

* 不支持to继承(to是其他bean的子类)

*/

public static Object coverBean2Bean(Object from, Object to) {

Class fClass = from.getClass();

Class tClass = to.getClass();

// 拿to所有属性(如果有继承,父类属性拿不到)

Field[] cFields = tClass.getDeclaredFields();

try {

for (Field field : cFields) {

String cKey = field.getName();

// 确定第一个字母大写

cKey = cKey.substring(0, 1).toUpperCase() + cKey.substring(1);

Method fMethod;

Object fValue;

try {

fMethod = fClass.getMethod("get" + cKey);// public方法

fValue = fMethod.invoke(from);// 取getfKey的值

} catch (Exception e) {

// 如果from没有此属性的get方法,跳过

continue;

}

try {

// 用fMethod.getReturnType(),而不用fValue.getClass()

// 为了保证get方法时,参数类型是基本类型而传入对象时会找不到方法

Method cMethod = tClass.getMethod("set" + cKey, fMethod.getReturnType());

cMethod.invoke(to, fValue);

} catch (Exception e) {

// 如果to没有此属性set方法,跳过

continue;

}

}

} catch (Exception e) {

e.printStackTrace();

}

return to;

}

static final String spare = "======================================================\r\n";

/** * 打印bean信息

*/

public static void printInvoke(Object object) {

Method[] ms = object.getClass().getMethods();

String str = spare;

str += "start log object: " + object.getClass().getSimpleName() + "\r\n";

str += spare;

System.out.print(str);

for (int i = 0; i < ms.length; i++) {

if (ms[i].getName().indexOf("get") != -1

&& !ms[i].getName().equals("getClass")) {

try {

System.out.println(ms[i].getName() + " = "

+ ms[i].invoke(object));

} catch (Exception e) {

e.printStackTrace();

}

}

}

System.out.println(spare);

}

“javabean技术”单元习题

“JavaBean技术”单元习题 一、填空题 1.___JAVABEAN________和JSP想结合,可以实现表现层和商业逻辑层的分离。 2.在JSP 中可以使用___________操作来设置Bean 的属性,也可以使用 ___________操作来获取Bean 的值。 3.___________操作可以定义一个具有一定生存范围以及一个唯一id的JavaBean的实例。 4.JavaBean有四个scope,它们分别为___________、___________、___________和___________。 二、判断题 1.中的name 及property 区分大小写。(T ) 2. 在JavaBean 中有很多方法,其中包含了主方法(F )。 3. JavaBean中的属性既可以是public型的,也可以是private型的。(F ) 4. JavaBean中的方法既可以是public型的,也可以是private型的。(F )5.JavaBean实质上是一个Java 类,该类可以被JSP程序进行直接调用.( F ) 6. 编写JavaBean可以先不必加入到JSP 程序中调用,而直接用main 方法来进行调试,调试好后就可以在JSP中使用了。(T ) 三、选择题 1. 关于JavaBean 正确的说法是:() (A)Java 文件与Bean所定义的类名可以不同,但一定要注意区分字母的大小写。 (B)在JSP 文件中引用Bean,其实就是用语句。 (C)被引用的Bean 文件的文件名后缀为.java 。 (D)Bean 文件放在任何目录下都可以被引用。 2.在JSP 中调用JavaBean 时不会用到的标记是:() (A) (B) (C) (D) 3.在JSP 中使用标记时,不会出现的属性是:() (A)name (B)property (C)value (D)以上皆不会出现 4.在项目中已经建立了一个JavaBean 该类为:bean.Student,给bean 具有name 属性,则下面标签用法正确的是:() (A) (B)hello student! (C) hello student! (D) 5.在JSP 中想要使用JavaBean:mypackage.mybean,则以下写法正确的是()(选择一项)

连接其它服务器数据库查询数据(sql server)

不同服务器数据库之间的数据操作 --创建链接服务器 exec sp_addlinkedserver '链接名', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogin '链接名', 'false ',null, '用户名 ', '密码 ' --查询示例 select * from 链接名.数据库名.dbo.表名 --导入示例 select * into 表 from 链接名.数据库名.dbo.表名 --以后不再使用时删除链接服务器 exec sp_dropserver '链接名', 'droplogins ' --连接远程/局域网数据(openrowset/openquery/opendatasource) --1、openrowset --查询示例 select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --生成本地表

select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --把本地表导入远程表 insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) select *from 本地表 --更新本地表 update b set b.列A=a.列A from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b on a.column1=b.column1 --openquery用法需要创建一个连接 --首先创建一个连接创建链接服务器 exec sp_addlinkedserver '链接名', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' --查询 select * FROM openquery(链接名, 'SELECT * FROM 数据库.dbo.表名 ') --把本地表导入远程表 insert openquery(链接名, 'SELECT * FROM 数据库.dbo.表名 ')

sql语句跨数据库操作

Sql语句跨数据库操作,保留下来以后用 不同服务器数据库之间的数据操作 --创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 ' --查询示例 select * from ITSV.数据库名.dbo.表名 --导入示例 select * into 表 from ITSV.数据库名.dbo.表名 --以后不再使用时删除链接服务器 exec sp_dropserver 'ITSV ', 'droplogins ' --连接远程/局域网数据(openrowset/openquery/opendatasource) --1、openrowset --查询示例 select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --生成本地表 select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --把本地表导入远程表 insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) select *from 本地表 --更新本地表 update b set b.列A=a.列A from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b on a.column1=b.column1 --openquery用法需要创建一个连接 --首先创建一个连接创建链接服务器

跨服务器的触发器书写方法

跨服务器的触发器书写方法 引言:电子病历的病人的基本信息,来源于HIS系统的病人基本信息。两个数据库的信息交互,通过HIS表的触发器来实现。但是伴随着业务的增长,HIS数据库和病历数据库可能会部署到不同的服务器上,因此,两个库之间的触发器,必须能满足跨服务器的访问。 书写跨服务器的数据访问,必须要对两台服务器进行相关配置和建立远程服务连接(分布事务),具体实施步骤如下: 一、启用远程分布式服务 1、打开控制面板,找到管理工具,双击打开,如图: 启动“Distributed Transaction Coordinator”服务,见下图:

2、设置MSDTC选项 在管理工具中,找到组建服务,双击打开,找到“我的电脑”,鼠标右键点击,选择“属性”如图: 打开窗口后,选择选择“MSDTC”选项卡 点击“安全性配置”按钮 网络DTC访问勾选上,允许远程客户端,允许远程管理,允许入站, 允许出站,不要求身份验证勾选上 注意: 1、以上步骤需要两台服务器都必须配置。 2、启动分布式服务后还要打开远程服务器以及本地服务器135端口,因为远程分布式服务需要该端口通讯。启用通讯端口方法看下节。 二、启用通讯端口

1、打开控制面板,找到管理工具,双击打开,如图: 2、启用防火墙,点击“例外”,点击“添加程序”。 找到路径下:C:\WINDOWS\system32\msdtc.exe

选中:msdtc.exe 点击添加端口,如图增加135端口。

注意: 1、以上步骤需要两台服务器都必须配置。 三、建立两台服务器的连接 1、建立互访连接 exec sp_addlinkedserver 'emr_server', '', 'SQLOLEDB', '192.168.0.10' ---创建服务器连接 exec sp_addlinkedsrvlogin ' emr_server ', 'false',null, 'sa', '146-164-152-' --创建登陆sp_dropserver 'his ','droplogins'--删除服务器连接和登陆,再也不使用了,可以删除。 '192.168.0.10' :目标服务器,即需要连接的远程服务器名称或IP,即电子病历服务器的名称或IP 2、书写触发器

Javabean技术访问数据库

Javabean访问数据库 【摘要】:提出实现与数据库紧密结合的数据类型, 并使用该类型的对象访问和操作数据库。对B/S 模式下利用JSP和JavaBean 技术进行数据库访问开发强大的JSP程序, 使得显示页面和数据库访问和操作相分离的研究。可以提高数据库访问和操作的安全性, 便于调试和维护, 且可重用封装数据库操作的JavaBean, 从而增加代码的重用性和系统的安全性。 【关键词】:javabean 数据库 引言: 在开发web应用程序时,数据库的访问是必不可少的。通过对数据库的访问实现对数据的增、删、改、查等操作。这一系列的操作代码是烦琐且在每次对数据库的操作时都要重复编写的代码。Javabean的任务就是”一次性编写,任何地方执行,任何地方重用“。这就是是实际上解决困扰工业上的日益增加的复杂性问问题,提供一个简单、紧凑的和优秀的问题解决方案。在利用JSP开发时可使用Javabean技术来解决。 Javabean的概述 Javabean是一种Java语言写成的可重用的软件组件。组件是自含的、可重复使用的软件单元;Javabean中的组件,则可以使用可视的应用程序开发,可视编写地将他们编写到Java程序中.Javabean在容器中运行并对外提供具体的业务逻辑操作功能。一般来说,Javabean被分成两类:可视化Javabean和不可视化Javabean。可视化Javabean可以表示简单的GUI组件,不可视化Javabean 在后台完成业务逻辑处理功能,例如:访问数据库执行查询操作中的Javabean,这些javabean在运行时不需要任何可视的界面。在JSP程序中所用的Javabean 一般以不可视化的组件为主,而可视化的 Javabean一般用以Applet程序或者

第七章 JavaBean技术

纯JSP开发方式 JSP+JavaBean开发方式

JavaBean : 支持组件的功能。Java中的组件叫JavaBean。Java(咖啡)Bean(豆)。狭义的JavaBean是具有一个界面形式的体现;广义的JavaBean是普通的Java类。满足两点要求:(1)属性名第一个字母都是小写的,private的;(2)一般具有getters和setters 方法。 原因就是符合面向对象的特性,所以属性是私有的,别人不能访问,从而隐藏细节。Getters是读取属性的值,setters是修改属性的值。如果属性只能读不能改,那么只写getters方法即可。如果属性只能改不能读,那么只写setters方法即可。 一般web中使用的JavaBean不具有图形界面的表现。一般是用来实现某一业务逻辑或者取得特定结果。 【例7.1】封装邮箱地址的JavaBean 【Email.java】 package com.lyq.bean; import java.io.Serializable; public class Email implements Serializable { // serialVersionUID 值 private static final long serialVersionUID = 1L; // Email地址 private String mailAdd; // 是否是一个标准的Email地址

private boolean eamil; /** * 默认无参的构造方法 */ public Email() { } /** * 构造方法 * @param mailAdd Email地址 */ public Email(String mailAdd) { this.mailAdd = mailAdd; } /** * 是否是一个标准的Email地址 * @return布尔值 */ public boolean isEamil() { // 正则表达式,定义邮箱格式 String regex = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"; // matches()方法可判断字符串是否与正则表达式匹配 if (mailAdd.matches(regex)) { // eamil为真 eamil = true; } // 返回eamil return eamil; } public String getMailAdd() { return mailAdd; } public void setMailAdd(String mailAdd) { this.mailAdd = mailAdd; } } 【index.jsp】 <%@page language="java"contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

跨服务器跨网段同步复制

跨服务器跨网段同步复制 注意:被同步的表必须有主键,否则无法同步。对数据库进行操作时需要登录服务器,在服务器本地进行操作,远程对数据库进行操作不能完成所有的步骤 准备工作: 1.将发布数据库完整备份到订阅服务器上,并在订阅服务器上还原(可只有数据库结构,不需要数据) 2.在发布数据库和订阅数据库上创建相同的账号和密码(replicationuser/rep5689#$%btbo)给replicationuser 账号sysadmin ,先不要映射任何数据库 3.更改安全对象所有权(发布数据库和订阅数据库) ALTER AUTHORIZATION ON DATABASE::[数据库名] TO [ReplicationUser] 4.在发布服务器上创建用户,并放入到管理员组中。(barefootadmin/foot5689#$%btbo),然后将发布服务的SQL SERVER代理服务的账号修改为barefootadmin ,重新启动代理服务 5.使用barefootadmin账号登陆到发布服务器上,在D盘创建文件夹(D:\RepIData),并共享文件夹D:\RepIData ,共享用户为barefootadmin(复制共享文件夹的网络文件名)(若发布服务器之前有过发布,则不需要创建文件夹) 6.打开订阅服务器和发布服务器的SQL SERVER 配置管理工具。在SQL Native Client 10.0 配置(32位)和Native Client 10.0 配置的别名中分别加上对方的机器名(别名:机器名;端口号:80;服务器:192.168.1.1;协议:TCP/IP) 创建发布: 6.登录发布服务器,登录数据库实例,复制--本地发布--新建发布 7.分发服务器(“机器名”将充当自己的分发服务器;SQL Server 将创建分发数据库和日志(W)) 8.启动Sql Server 代理(是,将Sql server代理服务器配置为自动启动) 9.快照文件夹(填写复制共享文件夹的网络文件名) 10 发布数据库(选择需要同步的数据库) 11.发布类型(事务发布) 12.项目(选择表和字段) 13.筛选表行 14.快照代理(立即创建快照并合快照保持可用状态,以初始化订阅) 15.代理安全性—安全设置 16.快照代理安全性:在SQL SERVER 代理服务账号下运行(这不是我们推荐的最佳安全配置);通过SQL SERVER登录(replicationuser) 17.向导操作(创建发布) 18.完成该向导(发布名称命名)--完成 19.复制—本地发布--启动复制监视器 创建订阅: 1.登录订阅服务器,复制—本地订阅—新建订阅 2.发布(查找SQLSERVER 发布服务器) 3.连接到服务器(服务器名称:发布服务器的机器名;身份验证:SQLSERVER 身份验证;登录名:replicationuser)

如何实现远程连接数据库服务器

如何实现远程连接数据库服务器 (SQL Server 2005 + Visual Studio 2005) (1)配置服务器端 打开“SQL Server 外围应用配置器”--》选择“服务和连接的外围应用配置器”–》选择“服务器端(SQLEXPRESS)”--》点击“远程连接”,选择“本地连接和远程连接”,选择“同时使用TCP/IP和Named pipes”; 启动“SQL Server Browser”,选择自动;

(2)进行服务器端网络配置 打开“SQL Server Configuration Manager”--》点击“SQL Server 2005网络

配置”–》点击“SQLEXPRESS的协议”--》确保“Named Pipes”和“TCP/IP”都启用–》右键点击“TCP/IP ”选择属性,选择“IP地址”,设置“TCP动态端口”为空,设置“TCP端口”为1433;

(3)进行客户端网络配置 打开“SQL Server Configuration Manager”--》点击“SQL Native Client配置” –》点击“客户端协议”--》确保“Named Pipes”和“TCP/IP”都启用–》右键点击“TCP/IP ”选择属性,选择“协议”,确认“默认端口”为1433;

(4)设置SQL Server服务器实例 右键点击服务器实例–》选择“属性”–》选择“连接”–》在“允许远程连接到此服务器”前打勾;

(5)防火墙设置 对系统中使用的防火墙(包括ESET和windows自带的防火墙),选择关闭,或者设置例外(允许某个程序或者某个端口) (6)检查客户端和服务器端是否连通,端口是否打开 telnet ip 1433 //ip即为服务器的IP地址,1433是sql server的默认端口,这

跨服务器数据库访问

链接服务器,不同服务器数据库之间的数据操作 1、--创建链接服务器 EXEC sp_addlinkedserver‘链接名’,'','SQLOLEDB','服务器名或地址,端口号' EXEC sp_addlinkedsrvlogin '链接名', 'false ',null,'用户名', '密码' 2、启动两台服务器的MSDTC服务 MSDTC服务提供分布式事务服务,如果要在数据库中使用分布式事务,必须在参与的双方服务器启动MSDTC(Distributed Transaction Coordinator)服务。 3、打开双方的135端口 MSDTC服务依赖于RPC(Remote Procedure Call (RPC))服务,RPC使用135端口,保证RPC服务启动,如果服务器有防火墙,保证135端口不被防火墙挡住。 使用“telnet IP 135”命令测试对方端口是否对外开放。也可用端口扫描软件(比如Advanced Port Scanner)扫描端口以判断端口是否开放 4、解除SQL阻止(sqlserver 2005情况) SQL Server 阻止了对组 件…Ad Hoc Distributed Queries?的STA TEMENT?OpenRowset/OpenDatasource?的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使 用sp_configure 启用…Ad Hoc Distributed Queries?。有关启用…Ad Hoc Distributed Queries?的详细信息,请参阅SQL Server 联机丛书中的“外围应用配置器”。 因为SQL2005默认是没有开启?Ad Hoc Distributed Queries?组件,开启方法如下 execsp_configure 'show advanced options',1 reconfigure execsp_configure 'Ad Hoc Distributed Queries',1 reconfigure 关闭Ad Hoc Distributed Queries: exec sp_configure 'Ad Hoc Distributed Queries', 0 reconfigure exec sp_configure 'show advanced options', 0 reconfigure 5、可以查询了 select*from连接名.数据库名.dbo.表名

连接服务器上数据库需要进行的设置

县级管理系统连接服务器上的SQL SERVER需要进行的设置 当客户需要用个人电脑通过农村土地调查管理系统连接服务器上的数据库时,需要对服务器进行一些配置,具体设置如下: 1、在开始-Microsoft Sql Server 2005-配置工具中找到sql server外围应用配置器并点击 2、在弹出的如下对话框中点击“服务和连接的外围应用配置器”。 3、在弹出的如下界面中设置远程连接,勾选“本地连接和远程连接”-“同时使用TCP/IP和named pipes”选项。具体设置参照下图。设置完后点击“确定”按钮。

4、在服务中重启sql server服务。 5、关闭防火墙,以保证其他电脑能连接到该服务器上的数据库。

以下是在用户电脑上的一些连接设置,和用户连接本机数据库的设置基本一致。所不同的是连接的服务器名改为服务器上的计算机名。具体设置如下: 1、在开始程序中找到农村管理系统,打开“系统配置工具” 2、在弹出的对话框中点击“数据源”按钮 3、在连接数据库界面中设置数据库的连接参数,依次设置服务器名、数据库名、用户名和密码。其中服务器名设为服务器的计算机名,数据库名为元数据库的名称。 4、点击确定后,进入数据库管理界面。

5、在数据库管理界面中双击窗体右侧的土地利用数据库记录,弹出如下窗体。在窗体中需要改动的是下面截图划红线的部分,即服务器名、数据库名、用户名和密码。其中数据库名设置为土地利用库数据库名。修改完成后,点击“测试连接”按钮进行数据库连接的连接测试。 (1)点击测试连接 (2)点击开始按钮

(3)确保测试成功 6、依次对工作流库和影像库进行上述连接设置,并保证连接成功。

SQL SERVER实现跨服务器查询的方法

[SQL SERVER]实现跨服务器查询的方法 方法一: 用OPENDATASOURCE 下面是个跨SQLServer查询的示例 Select TableA.*,TableB.*From OPENDATASOURCE( 'SQLOLEDB', 'Data Source=ServerA;User ID=UserID;Password=Password' ).databaseAName.dbo.TableA Left Join OPENDATASOURCE( 'SQLOLEDB', 'Data Source=ServerB;User ID=UserID;Password=Password' ).databaseBName.dbo.TableB On TableA.key=TableB.key 下面是个查询的示例,它通过用于Jet的OLE DB提供程序查询Excel电子表格。 SELECT* FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel5.0')...xactions 方法二(也可以在企业管理器里添加linkServer): sp_addlinkedserver 创建一个链接的服务器,使其允许对分布式的、针对OLE DB数据源的异类查询进行访问。在使用sp_addlinkedserver创建链接的服务器之后,此服务器就可以执行分布式查询。如果链接服务器定义为Microsoft?SQL Server?,则可执行远程存储过程。 语法 sp_addlinkedserver[@server=]'server' [,[@srvproduct=]'product_name'] [,[@provider=]'provider_name'] [,[@datasrc=]'data_source'] [,[@location=]'location'] [,[@provstr=]'provider_string'] [,[@catalog=]'catalog'] 权限 执行许可权限默认授予sysadmin和setupadmin固定服务器角色的成员。 简单示例: //创建linkServer exec sp_addlinkedserver'srv_lnk','','SQLOLEDB','服务器名'

[SQL SERVER] 跨服务器查询

[SQL SERVER] 跨服务器查询 方法一: 用OPENDATASOURCE 下面是个跨SQLServer查询的示例 Select TableA.*,TableB.* From OPENDATASOURCE( 'SQLOLEDB', 'Data Source=ServerA;User ID=UserID;Password=Password' ).databaseAName.dbo.TableA Left Join OPENDATASOURCE( 'SQLOLEDB', 'Data Source=ServerB;User ID=UserID;Password=Password' ).databaseBName.dbo.TableB On TableA.key=TableB.key 下面是个查询的示例,它通过用于Jet 的OLE DB 提供程序查询Excel 电子表格。 SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions ------------------------------------- SQL语句实现跨Sql server数据库操作实例-查询远程SQL,本地SQL数据库与远程SQL的数据传递 (1)查询192.168.1.1的数据库(TT)表test1的数据 select * from opendatasource('sqloledb','server=192.168.1.1;uid=sa;pwd=123456;database=TT').TT.dbo.test1 (2)从192.168.1.2的数据库(TT)表test2插入192.168.1.1数据库(TT)的表test1去 insert into opendatasource('sqloledb','server=192.168.1.1;uid=sa;pwd=123456;database=TT').TT.dbo.test1 (id,[name],password) select id,[name],password from opendatasource('sqloledb','server=192.168.1.2;uid=sa;pwd=123456;database=TT').TT.dbo.test2 ---------------------------------------- 方法二(也可以在企业管理器里添加linkServer): sp_addlinkedserver

SQL跨服务器查询方法的两种实现方法

跨服务器查询 方法一:利用opendatasource 示例如下【测试通过】: select * from opendatasource('SQLOLEDB','server=192.168.1.252;uid=linzhi888;pwd=https://www.doczj.com/doc/8c6119766.html,;da tabase=iTry86.Quote').[iTry86.Quote]https://www.doczj.com/doc/8c6119766.html,erInfo 说明:select 字段from opendatasource('SQLOLEDB','server=服务器;uid=用户名;pwd=密码;database=数据库').数据库.dbo.表名 注意:若提示SQL Server 阻止了对组件'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用sp_configure 启用'Ad Hoc Distributed Queries'。 找到解决办法 启用Ad Hoc Distributed Queries: exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure 使用完成后,关闭Ad Hoc Distributed Queries: exec sp_configure 'Ad Hoc Distributed Queries',0 reconfigure exec sp_configure 'show advanced options',0 reconfigure 方法二:利用链接服务器 //创建链接服务器【在本地服务器创建】 exec sp_addlinkedserver'linkserver','','SQLOLEDB','192.168.1.252' -- exec sp_addlinkedserver'链接服务器名称','','SQLOLEDB','远程地址' //登录链接服务器 exec sp_addlinkedsrvlogin 'linkserver','false',null,'linzhi888','https://www.doczj.com/doc/8c6119766.html,' --exec sp_addlinkedsrvlogin'链接服务器名称','false',null,'用户名','密码' //查询语句 select*from linkserver.hangqing.dbo.SZ_Ticks -- select*from 链接服务器名称.数据库.dbo.表名

配置服务器数据库允许远程外部连接

一、设置服务器中数据库SQL SERVER 2008登录用户名与密码 (1)打开服务器中数据库sql server 2008 (2)右击,属性 (3)安全性->sql server 和windows身份验证模式 (4)右击,属性,修改密码即可,原本为:账号:sa 密码:Bb603

二、配置服务器数据库允许其外部远程链接(1)打开sql server 配置管理器 (2)将TCP/IP启用 (3)右击打开属性,将IP1与IP2未启用改为“是”。

具体步骤如下: 三、其中5中的例外为sql server 2000中的,08版本详细配置如下: (1)二中的步骤5->添加程序,具体操作: 在使用动态端口时打开对SQL Server 的访问 1.在“开始”菜单上,单击“运行”,键入WF.msc,然后单击“确定”。 2.在“高级安全Windows 防火墙”的左窗格中,右键单击“入站规则”,然后在操作窗格中单击“新建规则”。 3.在“规则类型”对话框中,选择“程序”,然后单击“下一步”。 4.在“程序”对话框中,选择“此程序路径”。单击“浏览”,导航到要通过防火墙访问的SQL Server 实例,再单 击“打开”。默认情况下,SQL Server 位于C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe。单击“下一步”。 5.在“操作”对话框中,选择“允许连接”,然后单击“下一步”。 6.在“配置文件”对话框中,选择在您想要连接到数据库引擎时描述计算机连接环境的任何配置文件,然后单 击“下一步”。 7.在“名称”对话框中,输入此规则的名称和说明,再单击“完成”。 (2)二中的步骤6->添加端口1433,具体操作: 打开Windows 防火墙的端口以进行TCP 访问 1.在“开始”菜单上,单击“运行”,键入WF.msc,然后单击“确定”。 2.在“高级安全Windows 防火墙”的左窗格中,右键单击“入站规则”,然后在操作窗格中单击“新建规则”。 3.在“规则类型”对话框中,选择“端口”,然后单击“下一步”。 4.在“协议和端口”对话框中,选择TCP。选择“特定本地端口”,然后键入数据库引擎实例的端口号,例如默 认实例的端口号1433。单击“下一步”。 5.在“操作”对话框中,选择“允许连接”,然后单击“下一步”。 6.在“配置文件”对话框中,选择在您想要连接到数据库引擎时描述计算机连接环境的任何配置文件,然后单 击“下一步”。 7.在“名称”对话框中,输入此规则的名称和说明,再单击“完成”。

SQL不同服务器数据库之间的数据操作整理(完整版)

SQL不同服务器数据库之间的数据操作整理(完整版) --1. 创建链接服务器 --1.1 创建一个链接名 EXEC sp_addlinkedserver 'LinkName','','SQLOLEDB','远程服务器名或ip 地址' --有自定义实例名还要加上"/实例名" /*例如:EXEC sp_addlinkedserver 'TonyLink','','SQLOLEDB','192.168.58.208' */ --1.2 创建登录信息(或叫创建链接服务器登录名映射)(只需选择一种方式) --1.2.1 以windows认证的方式登录 EXEC sp_addlinkedsrvlogin 'LinkName' --或EXEC sp_addlinkedsrvlogin 'LinkName','true' /*例如:EXEC sp_addlinkedsrvlogin 'TonyLink' */ --1.2.2 以SQL认证的方式登 录 EXEC sp_addlinkedsrvlogin 'LinkName','false',NULL,'用户名','密码' /*例如:EXEC sp_addlinkedsrvlogin 'TonyLink','false',null,'sa','123' */ --2. 链接服务器相关数据操作 --2.1 查询示例 SELECT * FROM LinkName.数据库名.架构名.表名 /*例如:SELECT * FROM TonyLink.Mydb.dbo.tb */ --2.2 导入示例 SELECT * INTO 表名 FROM LinkName.数据库名.架构名.表名 /*例如:SELECT * INTO Newtb FROM TonyLink.Mydb.dbo.tb */ --2.3 更新示例 UPDATE LinkName.数据库名.架构名.表名 SET 字段='值' WHERE 字段='条件' /*例如:UPDATE TonyLink.Mydb.dbo.tb SET Persons='g' WHERE Persons='a' */ --2.4 删除示例

相关主题
文本预览
相关文档 最新文档