为了发布一条 SQL SELECT 语句来创建一个新的 SQL Server 表,  SQL Server 数据库的 select into/bulkcopy 选项必须是可用的. 在默认情况下, 对于新创建的 SQL Server 数据库, select into/bulkcopy 选项是不可用的. select into/bulkcopy 选项可以用 sp_dboption 储存过程来修改. 修改 select into/bulkcopy 选项状态的语法是:

sp_dboption 'pubs','select into/bulkcopy','true' 
-或者- 
sp_dboption 'pubs','select into/bulkcopy','false'

以下代码片断用 SQL Pass Through 来选择 Pubs 中的 Authors 表中的全部记录到一个名为 Mytable 的在 Pubs 数据库中的新表中:

*!* 注意请修改以下代码中的 SERVER= 节以反映你要连接的 SQL Server.
gnConnHandle=SQLSTRINGCONN('DRIVER={SQL Server};SERVER=MY_SERVER;DATABASE=MASTER;' + ;
   'UID=sa;PWD=')
IF gnConnHandle>0
   *!* 查询来确定是否 SELECT INTO 并且 Fast Bulk Copy 是被允许的
   sqlcommand="sp_dboption 'pubs','select into/bulkcopy'"
   =sqlexec(gnConnHandle,sqlcommand,'bulkcopy')
   sqlcommand="IF EXISTS (SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE " + ;
      "table_name = 'mytable') " +CHR(13) + CHR(10) + "DROP TABLE mytable"
   =sqlexec(gnConnHandle,sqlcommand)
   IF UPPER(ALLTRIM(BULKCOPY.CURRENTSETTING))="OFF"
      *!* 在默认情况下 SELECT INTO 和 Fast Bulk Copy 是不允许的.
      *!* 在选定数据库中许可 SELECT INTO 和 Fast Bulk Copy
      sqlcommand="EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'"
      =sqlexec(gnConnHandle,sqlcommand)
   ENDIF
   *!* 使用 PUBS 数据库
   sqlcommand="USE pubs"
   =sqlexec(gnConnHandle,sqlcommand)
   *!* 发布一条 SQL Select 命令并 SELECT INTO 一个 SQL Server 上的新表
   sqlcommand="SELECT * INTO mytable" + CHR(13)+CHR(10) + ;
      "FROM authors"
   =sqlexec(gnConnHandle,sqlcommand)
   *!* 使用 MASTER 数据库
   sqlcommand="USE master"
   =sqlexec(gnConnHandle,sqlcommand)
   IF UPPER(ALLTRIM(BULKCOPY.CURRENTSETTING))="OFF"
      *!* 如果 SELECT INTO 和 Fast Bulk Copy 原来是被禁止的,
      *!* 重置选定数据库的 SELECT INTO 和 Fast Bulk Copy 到它们的原始状态
      sqlcommand="EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'false'"
      =sqlexec(gnConnHandle,sqlcommand)
   ENDIF
   *!* Select from 刚创建的表.
   sqlcommand="select * from pubs..mytable"
   =sqlexec(gnConnHandle,sqlcommand,'mycursor')
   =sqldisconn(gnConnHandle)
   SELECT mycursor
   BROWSE NOWAIT
ENDIF

VFP 用 SPT 来发布一条 SELECT 到一个新的 SQL Server 表的更多相关文章

  1. SQL SERVER 使用订阅发布同步数据库(转)

    一.数据库复制涉及  1.发布服务器:  数据的来源服务器,维护源数据,决定哪些数据将被分发,检测哪些数据发生了修改,并将这些信息提交给分发服务器.  2.分发服务器: 分发服务器负责把从发布服务器拿 ...

  2. 使用zabbix监控sql server的发布订阅

    (一)背景 个人在使用sql server时,用到了sql server的发布订阅来做主从同步,类似MySQL的异步复制.在发布订阅环境搭建完成后,最重要的就是如何监控复制的状态了,sql serve ...

  3. sql server随机排序和随机取出n条数据

    问题:博主在2010-2011学年,广东技术师范大学大四的时候,去过红海人力集团面试数据库职位,很清楚记得当时有一道笔试题目是:编写sql从表里面随机取出10条记录. 解决方案:在sql server ...

  4. 分享Sql Server 2008 r2 数据备份,同步服务器数据(二.本地发布,订阅)

    上一篇文章中写到了数据库的本地备份,这一篇主要分享一下关于不同服务器的数据备份,主要是使用sql server中的本地发布,本地订阅功能,在数据库的读写分离中,也会经常性的用到这个功能. 复制-> ...

  5. 微软发布正式版SQL Server 2016

    微软于今天在SQL 官方博客上宣布 SQL Server 数据库软件的正式发布版本(GA),历时一年多,微软为该软件发布了多个公共预览版和候选版本,而今天最终版本终于上线了.在博客中,微软数据集团的企 ...

  6. sql server 2014预览版发布

    MSDN发布sql server2014预览版,如下图: SQL Server 2014新特性: 微软SQL Server部门主管Eron Kelly介绍,通过将交易处理放到内存中进行,新的SQL S ...

  7. [SQL Server 2014] 微软将于年底发布新版数据库SQL Server 2014

    在今年的TechEd大会上,微软宣布SQL Server 2014的第一个技术预览版.SQL Server 2014的重点包括内存OLTP.实时的大数据分析.支持混合云端,以及提供更完整的商业智能(B ...

  8. VFP获取 SQL Server 的数据表、触发器、存储过程、视图等脚本

    本文代码转载自红雨先生 *-----------------------------------------------* SqlServer 相关函数*----------------------- ...

  9. VFP 的 SPT 起跳 -- 陈纯(BOE数据网络工作室)

    细节描述 Visual FoxPro 的 SPT 技术快速入门 说在前面熟悉 Fox 的朋友都知道,在 VFP 里我们可以使用远程视图 (Remote View) 和 SPT(SQL Pass Thr ...

随机推荐

  1. scala基本语法

    scala基本语法scala函数1 def定义方法2 方法的返回值类型可以省略3 方法体重最后一行计算结果可以返回 return 如果省略方法类型4 方法参数 要指定类型5 如果方法体可以一步搞定 方 ...

  2. Activiti邮件任务

    Activiti邮件任务 作者:Jesai 会不会有那么一天,你会妒忌 Activiti有一种任务叫做邮件任务,顾名思义,就是流程办理到邮件任务的时候,系统就会自动的给你发送任务. Activiti所 ...

  3. 为什么 K8s 在阿里能成功?| 问底中国 IT 技术演进

    作者: 曾凡松 阿里云云原生应用平台高级技术专家 张振 阿里云云原生应用平台高级技术专家 导读:本文描述了阿里巴巴在容器管理领域的技术演进历程,解读了为什么 K8s 最终能够大获成功的原因,以及到今年 ...

  4. 头条一面竟然问我Maven?

    maven package和maven install 有什么区别? 你常用的maven命令有哪些? <dependencyManagement> 是干什么的? 还有用过其它构建工具吗? ...

  5. Hibernate定制Tuplizer

    Hibernate定制Tuplizer,使用@Tuplizer注解 本文转自http://www.521100.net/hibernate-tuplizer.html 首先,第一步在Hinbernat ...

  6. 关于idea修改当前使用的git账户的问题

    原文地址:https://www.cnblogs.com/xuxiaojian/p/8890656.html 1.问题描述: 由于前一段时间公司迁移git,就是将项目代码等迁移到另一个git服务器上, ...

  7. idea搭建springmvc(maven版)

    一.创建maven项目 (1)选择 file > new > project (2)填写对应信息,一路点击next 配置自己本地的maven,继续next 命名项目名(随意写,但要易懂), ...

  8. [JLOI2014]松鼠的新家(树链剖分)

    [JLOI2014]松鼠的新家(luogu) Description 题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间 ...

  9. PlayCanvas PBR材质shader代码分析(pixel shader)

    #version es #define varying in out highp vec4 pc_fragColor; #define gl_FragColor pc_fragColor #defin ...

  10. libc.so.6修改链接指向后导致系统无法使用的原因及解决方法

    https://www.cnblogs.com/weijing24/p/5890031.html http://man.linuxde.net/ldconfig