跨系统-跨数据库访问表或创建映射视图-PB访问数据库的特殊处理
一、 在项目中可能会遇到在一个项目中会出现多个数据库的操作。
二、 也可能会多个系统多个数据库之间进行交互操作显示。
三、 经常需要两个数据库关联查询或需要翻译显示内容时会很麻烦。
四、 今天就有个简单而实用的方法。一起来看看吧。
1.基本语法:
select 字段名 from OPENDATASOURCE ('SQLOLEDB', 'Data Source=[IP地址];USER ID = [用户名] ;Password=[数据库密码]' ).[数据库名].dbo.[表名] AS Rowset_1
2.如果有需要跟其它表进行关联查询的话,可以创建视图映射到本地数据库中如下:
create view V_SNF_CurrentStock
as
select cInvCode,iQuantity,cWhCode from OPENDATASOURCE ('SQLOLEDB', 'Data Source=192.168.1.8; USER ID = sa ;Password=123' ).SNFDB.dbo.CurrentStock AS Rowset_1
五、如果以上SQL语句执行不成功的话,报以下错误:
错误信息:SQL Server数据库远程操作中,在使用openrowset/opendatasource前首先要启用Ad Hoc Distributed Queries服务,因为这个服务不安全所以SqlServer默认是关闭的。
处理方法如下:
第一种:启用Ad Hoc Distributed Queries的方法
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',
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',
reconfigure 使用完毕后,记得一定要关闭它,因为这是一个安全隐患,切记执行下面的SQL语句:
exec sp_configure 'Ad Hoc Distributed Queries',
reconfigure
exec sp_configure 'show advanced options',
reconfigure
如果都是内部管理类系统的话,可以打开后不进行关闭,这样用起来会更方便一些。
第二种:sql server 2008 64位连接sql 2000服务器的时候出现以下提示:
链接服务器"seeker2k4"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "Unspecified error"。 Msg 7311, Level 16, State 2, Line 1 无法获取链接服务器 "seeker2k4" 的 OLE DB 访问接口 "SQLNCLI10" 的架构行集 "DBSCHEMA_TABLES_INFO"。该访问接口支持该接口,但使用该接口时返回了失败代码。
此前SP4的补丁已安装。
方法:
在sql2000 中打开查询分析器:
执行SP4补丁包中\SQL2KSP4\install\instcat.sql
即可。
----------------------------------
二、.以上可以查询,但在PB中却不能执行,还需要执行如下命令
ALTER DATABASE sms --DataBase数据库名称
SET ANSI_NULL_DEFAULT ON,
ANSI_NULLS ON,
ANSI_PADDING ON,
ANSI_WARNINGS ON
跨系统-跨数据库访问表或创建映射视图-PB访问数据库的特殊处理的更多相关文章
- Oracle 10g通过创建物化视图实现不同数据库间表级别的数据同步
摘自:http://blog.csdn.net/javaee_sunny/article/details/53439980 目录(?)[-] Oracle 10g 物化视图语法如下 实例演示 主要步骤 ...
- mysql创建用户后无法访问数据库的问题
1.停止mysql服务器 sudo service mysql stop 2.启动mysql服务 sudo mysqld_safe --skip-grant-tables 3.登陆 mysql mys ...
- Hibernate连接mysql数据库并自动创建表
天才第一步,雀氏纸尿裤,Hibernate第一步,连接数据库. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个 ...
- Oracle12c 性能优化攻略:攻略1-1:创建具有最优性能的数据库
一:章节前言 本章着眼于影响表中数据存储性能的数据库特性. 表的性能部分取决于在创建之前所应用的数据库特性.例如:在最初创建数据库时采用的物理存储特性以及相关的表空间都会在后来影响表的性能.类似地,表 ...
- ASP.NET Core搭建多层网站架构【5-网站数据库实体设计及映射配置】
2020/01/29, ASP.NET Core 3.1, VS2019, EntityFrameworkCore 3.1.1, Microsoft.Extensions.Logging.Consol ...
- AspNet Core :创建自定义 EF Core 链接数据库
这两天比较忙,写的会慢一点. 我们以控制台演示 EF Core的链接数据库 首先创建控制台程序 创建数据上下文类 EntityTable /// <summary> /// 继承 DbCo ...
- 使用ADO.NET查询和访问数据库
使用ADO.NET查询和访问数据库步骤 使用ADO.NET查询和访问数据库 连接数据库操作: 1. 定义连接字符串: String connString = "Data Sour ...
- 如何通过JDBC访问数据库
Java数据库连接(JDBC)用与在Java程序中实现数据库操作功能,它提供了执行SQL语句.访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql包中包含了JDBC操作数据库 ...
- Django 访问数据库
通过命令行方式访问数据库: [root@localhost web]$ python manage.py shell # 进入交互模式(先安装ipython) In [1]: from blog.mo ...
随机推荐
- 算法笔记_230:运动员分组(Java)
目录 1 问题描述 2 解决方案 1 问题描述 有N个人参加100米短跑比赛.跑道为8条.程序的任务是按照尽量使每组的人数相差最少的原则分组.例如:N=8时,分成1组即可.N=9时,分成2组:一组 ...
- 算法笔记_200:第三届蓝桥杯软件类决赛真题(C语言本科)
目录 1 星期几 2 数据压缩 3 拼音字母 4 DNA比对 5 方块填数 前言:以下代码部分仅供参考,若有不当之处,还望路过同学指出哦~ 1 星期几 1949年的国庆节(10月1日)是星期六. ...
- linux find command information more
查找文件find ./ -type f 查找目录find ./ -type d 查找名字为test的文件或目录find ./ -name test 查找名字符合正则表达式的文件,注意前面的‘.*’(查 ...
- 【Linux】eclipse juno 边框过大的调整方法
切换至eclipse目录: vi plugins/org.eclipse.platform_4.2.*/css/e4_default_gtk.css 找到.MPartStack,替换成如下代码: .M ...
- Fix: Windows Script Host access is disabled on this machine
If you receive this Windows Script Host access is disabled on this machine, Contact your administrat ...
- Ubuntu18.04下编译安装Guitarix 0.37.3
准备工作 源文件下载 https://sourceforge.net/projects/guitarix/files/guitarix/ 安装依赖. 参考 https://sourceforge.ne ...
- 【TP3.2+onethink1.0】2个Ueditor 回显数据,第2个会把第1个覆盖
1.最近在使用onethink1.0 框架进行二次开发,在编辑页面,生成2个ueditor 在数据回显的时候,发现第2个ueditor的数据会覆盖第1个ueditor,咋办? 2.原因: 3.解决方法 ...
- android 发送短信的两种方式,以及接收报告和发送报告
android发送短信,以及接收报告和发送报告 android中发送短信其实有两种方式,这个和打电话类似,大家可以了解一下: 一.调起系统发短信功能 ...
- NYOJ-----最少乘法次数
最少乘法次数 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 给你一个非零整数,让你求这个数的n次方,每次相乘的结果可以在后面使用,求至少需要多少次乘.如24:2*2 ...
- Tex
关于Tex,有许多概念.许多软件.这些软件是做什么的,要解决哪些问题,今日好好总结一下. 就像任何领域一旦引入代数系统,一切都会变得井然有序一样.就像用五行八卦描述事物,事物的规律就变得清晰一样,类比 ...