通过Java+JavaBean+DAO访问数据库

通过Java+JavaBean+DAO访问数据库

1.分为3层:(其实业务逻辑层依然混乱)

Category代表类别,是数据模型。

CategoryDAO是数据访问层,和存储系统打交道,不一定是数据库,可以是文件系统等等。

CategoryManager?提供服务的层次。(暂时无)

从数据库当中返回一个list,里面已经把树状结构排好。在后台做好递归,当list取出来的时候,已经拍好顺序了。

每个节点上都有一个grade值,通过这个grade值就可以知道应该缩进几格。

通过一个递归去找到相应的树:

如果不是叶子节点,就调用递归方法,就可以解决这个问题。等于是反复执行了select 语句,通过当前的id作为pid送过去,找到当前节点的所有的子节点。这个算法还是不错的。

loadById(int id)通过id得到

public Category loadById(int id) {

Category c = null;

Connection conn = DB.getConn();

String sql = "select * from category where id = " + id;

Statement stmt = DB.getStatement(conn);

ResultSet rs = DB.getResultSet(stmt, sql);

try {

if (rs.next()) {

c = this.getCategoryFromRs(rs);

}

} catch (SQLException e) {

e.printStackTrace();

} finally {

DB.close(rs);

DB.close(stmt);

DB.close(conn);

}

return c;

}

连接其它服务器数据库查询数据(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、书写触发器

跨服务器跨网段同步复制

跨服务器跨网段同步复制 注意:被同步的表必须有主键,否则无法同步。对数据库进行操作时需要登录服务器,在服务器本地进行操作,远程对数据库进行操作不能完成所有的步骤 准备工作: 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.360docs.net/doc/119121862.html,;da tabase=iTry86.Quote').[iTry86.Quote]https://www.360docs.net/doc/119121862.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.360docs.net/doc/119121862.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 删除示例

相关文档
最新文档