为了发布一条 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. C#调用7z实现文件的压缩与解压

    1.关于7z 首先在这里先介绍一下7z压缩软件,7z是一种主流的 压缩格式,它拥有极高的压缩比.在计算机科学中,7z是一种可以使用多种压缩算法进行数据压缩的档案格式.主要有以下特点: 来源且模块化的组 ...

  2. 对网站和项目使用IIS Express的64位版

  3. python+opencv中最近出现的一些变化( OpenCV 官方的 Python tutorial目前好像还没有改过来?) 记一次全景图像的拼接

    最近在学习过程中发现opencv有了很多变动, OpenCV 官方的 Python tutorial目前好像还没有改过来,导致大家在学习上面都出现了一些问题,现在做一个小小的罗列,希望对大家有用 做的 ...

  4. 内置3D对象-Unity3D游戏开发培训

    内置3D对象-Unity3D游戏开发培训 作者:Jesai 2018-02-12 19:21:58 五大面板: -Hierachy:当前场景中的物体 图 1-1 -Project:项目中的所有资源 图 ...

  5. SpingMvc复杂参数传收总结

    上一篇文章[javaWeb传收参数方式总结]总结了简单传收参数,这一篇讲如何传收复杂参数,比如Long[] .User(bean里面包含List).User[].List.List<Map< ...

  6. 为什么在留言处插入<script>alert(1)</script>不弹框

    对于新手来说,往往会在留言地方插入<script>alert(1)</script>来检测是否有存储xss,事实是基本上不会弹框的,为啥? 通过查看源码,可知道<> ...

  7. SpringBoot配置国际化

    1).国际化 1).编写国际化配置文件: 2).使用ResourceBundleMessageSource管理国际化资源文件 3).在页面使用fmt:message取出国际化内容 步骤: 1).编写国 ...

  8. Python3中的__new__方法以及继承不可变类型类的问题

    最近在学到Python中的__new__方法时被弄懵逼了,一开始实在是很难理解,有很多地方想不通(本人强迫症).最近自己慢慢思索得出了能说服自己的理解: 说__new__方法之前要先提到__init_ ...

  9. 使用Rclone和WinFsp挂载FTP为磁盘

    介绍 Rclone:是一款的命令行工具,支持在不同对象存储.网盘间同步.上传.下载数据.官网网址:rclone.org WinFsp:是一款Windows平台下的文件系统代理软件(Windows Fi ...

  10. window平台基于influxdb + grafana + jmeter 搭建性能测试实时监控平台

    一.influxdb 安装与配置 1.1 influxdb下载并安装 官网无需翻墙,但是下载跳出的界面需要翻墙,我这里提供下载链接:https://dl.influxdata.com/influxdb ...