DBF表与SQL Server表的导入、导出
----------Dbf 导入 Sql Server表----------
以下均以SQL2000、VFP6及以上的表为例
代码导入:查询分析器中执行如下语句(先选择对应的数据库)
-------------如果接受导入数据的SQL表已存在
--如果接受导入数据的SQL表已经存在
Insert Into 已经存在的SQL表名 Select * from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:','select * from aa.DBF')
--也可以对应列名进行导入,如:
Insert Into 已经存在的SQL表名 (列名1,列名2...) Select (对应列名1,对应列名2...) from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:','select * from aa.DBF')
-------------如果接受导入数据的SQL表不存在,导入时创建
--方法一:有一个缺点:把DBF表导入SQL Server中后,马上用VISUAL FOXPRO打开DBF表,会提示“不能存取文件”,即这个表还被SQL打开着呢。可是过了1分钟左右,再打开DBF表就可以了,说明经过一段时间后查询分析器才把这个表关闭。
Select * Into 要生成的SQL表名 from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:','select * from dbf表名.DBF')
--方法二:有一个缺点:把DBF表导入SQL Server中后,马上用VISUAL FOXPRO打开DBF表,会提示“不能存取文件”,即这个表还被SQL打开着呢。可是过了1分钟左右,再打开DBF表就可以了,说明经过一段时间后查询分析器才把这个表关闭。
Select * Into TEMP1 from openrowset('VFPOLEDB.1','C:';'admin';'' ,'select * from dbf表名.DBF')
--如果没有安装VFP,需要把vfpoledb.dll拷贝到SYSTEM目录下,并注册。
--方法三:导入SQL SERVER后,源表再用VFP打开就不提示“不能存取文件”,说明语句执行后就把源表关闭了。不过也有不尽人意的地方,就是用前两种方式导入后,源表中的字符型字段导入后SQL表字段对应变成NVARCHAR了。
Select * Into 要生成的SQL表名 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase IV;HDR=NO;IMEX=2;DATABASE=c:','select * from dbf表名.dbf')
--方法四:导入SQL SERVER后,源表再用VFP打开就不提示“不能存取文件”,说明语句执行后就把源表关闭了。不过也有不尽人意的地方,就是用前两种方式导入后,源表中的字符型字段导入后SQL表字段对应变成NVARCHAR了。
Select * I
相关文档:
使用SQL时必须考虑的关键因素
一,获得结果集所需访问的数据量,在没有确定目标容量之前,很难断定查询执行的效率;
二,定义结果集所需的查询条件,也就是如何限定结果集,如何合理的使用sql子句;
三,结果集的大小,取决于表的大小和过滤条件的细节,但不都是这样,典型的情况是,若干个独立使用时效率不高的条 ......
选择自 softj 的 Blog
关键字
PL/SQL实现Oracle数据库任务调度
出处
PL/SQL实现Oracle数据库任务调度
关键词:数据恢复,任务调度,ORACLE,PL/SQL
在数据库操作中时常会有这样的情况发生,由于一时的疏忽而误删或误改了一些重要的数据,另外还有 ......
SQL中的REPLACE替换字符函数的用法(使之支持text/ntext)
语法
REPLACE ( original-string, search-string, replace-string )
参数
如果有某个参数为 NULL,此函数返回 NULL。
original-string 被搜索的字符串。可为任意长度。
search-string 要搜索并被 repl ......
1. >>加密
from the Books Online:
Use the WITH ENCRYPTION option:
IF EXISTS (SELECT name from sysobjects
WHERE name = 'encrypt_this' AND type = 'P')
DROP PROCEDURE encrypt_this
GO
USE pubs
GO
CREATE PROCEDURE encrypt_this
WITH ENCRYPTION
AS
SELECT *
from authors
GO
EXEC sp ......
GROUP BY 子句用来对指定的字段做分组,产生一个汇总信息。 (1)group by语句对select后所选择的字段有一定的限制,即select后没有使用聚合函数的字段必须包含在group by 语句后面的结果集中。(GROUP BY 关键字后跟一个列的列表,称为组合列). (2)不能对数据类型为 ntext、text、image 或 bit 的列使用 GROUP BY 或 ......