• VFP 用 SPT 来发布一条 SELECT 到一个新的 SQL Server 表


    为了发布一条 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 

  • 相关阅读:
    Linux内核调试方法总结之ftrace
    Linux内核调试方法总结之ptrace
    Linux内核调试方法总结之ltrace
    文件处理
    python基础之字符编码
    第三篇:python基础之数据类型与变量
    第二篇:python基础之核心风格
    数据类型、字符编码、文件处理
    python入门
    爬取加载页面数据
  • 原文地址:https://www.cnblogs.com/hnllhq/p/12311332.html
Copyright © 2020-2023  润新知