千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 怎么向VFP數(shù)據(jù)表中一次加入多條記錄?

怎么向VFP數(shù)據(jù)表中一次加入多條記錄?

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-14 00:47:12 1697215632

一、怎么向VFP數(shù)據(jù)表中一次加入多條記錄

以下均以SQL2000、VFP6及以上的表為例

代碼導(dǎo)入:查詢分析器中執(zhí)行如下語句(先選擇對(duì)應(yīng)的數(shù)據(jù)庫)

————-如果接受導(dǎo)入數(shù)據(jù)的SQL表已存在

–如果接受導(dǎo)入數(shù)據(jù)的SQL表已經(jīng)存在

Insert Into 已經(jīng)存在的SQL表名 Select * From openrowset(‘MSDASQL’,’Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:’,’select * from aa.DBF’)

–也可以對(duì)應(yīng)列名進(jìn)行導(dǎo)入,如:

Insert Into 已經(jīng)存在的SQL表名 (列名1,列名2…) Select (對(duì)應(yīng)列名1,對(duì)應(yīng)列名2…) From openrowset(‘MSDASQL’,’Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:’,’select * from aa.DBF’)

————-如果接受導(dǎo)入數(shù)據(jù)的SQL表不存在,導(dǎo)入時(shí)創(chuàng)建

–方法一:有一個(gè)缺點(diǎn):把DBF表導(dǎo)入SQL Server中后,馬上用VISUAL FOXPRO打開DBF表,會(huì)提示“不能存取文件”,即這個(gè)表還被SQL打開著呢??墒沁^了1分鐘左右,再打開DBF表就可以了,說明經(jīng)過一段時(shí)間后查詢分析器才把這個(gè)表關(guān)閉。

Select * Into 要生成的SQL表名 From openrowset(‘MSDASQL’,’Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:’,’select * from dbf表名.DBF’)

–需要安裝Visual FoxPro ODBC Driver(驅(qū)動(dòng)下載:http://msdn2.microsoft.com/zh-cn/vfoxpro/Bb190233.aspx)

–方法二:有一個(gè)缺點(diǎn):把DBF表導(dǎo)入SQL Server中后,馬上用VISUAL FOXPRO打開DBF表,會(huì)提示“不能存取文件”,即這個(gè)表還被SQL打開著呢。可是過了1分鐘左右,再打開DBF表就可以了,說明經(jīng)過一段時(shí)間后查詢分析器才把這個(gè)表關(guān)閉。

Select * Into TEMP1 From openrowset(‘VFPOLEDB.1′,’C:’;’admin’;” ,’select * from dbf表名.DBF’)

–如果沒有安裝VFP,需要把vfpoledb.dll拷貝到SYSTEM目錄下,并注冊(cè)。

–方法三:導(dǎo)入SQL SERVER后,源表再用VFP打開就不提示“不能存取文件”,說明語句執(zhí)行后就把源表關(guān)閉了。不過也有不盡人意的地方,就是用前兩種方式導(dǎo)入后,源表中的字符型字段導(dǎo)入后SQL表字段對(duì)應(yīng)變成NVARCHAR了。

Select * Into 要生成的SQL表名 From OPENROWSET(‘MICROSOFT.JET.OLEDB.4.0′,’dBase IV;HDR=NO;IMEX=2;DATABASE=c:’,’select * from dbf表名.dbf’)

–方法四:導(dǎo)入SQL SERVER后,源表再用VFP打開就不提示“不能存取文件”,說明語句執(zhí)行后就把源表關(guān)閉了。不過也有不盡人意的地方,就是用前兩種方式導(dǎo)入后,源表中的字符型字段導(dǎo)入后SQL表字段對(duì)應(yīng)變成NVARCHAR了。

Select * Into 要生成的SQL表名 From OPENROWSET(‘MICROSOFT.JET.OLEDB.4.0′,’dBase III;HDR=NO;IMEX=2;DATABASE=c:’,’select * from dbf表名.dbf’)

–方法五:用BDE驅(qū)動(dòng)導(dǎo)入時(shí),再用VFP打開源表時(shí)不會(huì)提示“不能存取文件”,不過有點(diǎn)問題:就是有時(shí)整型數(shù)據(jù)導(dǎo)入后變?yōu)樨?fù)數(shù)了。

Select * From OPENROWSET(‘MSDASQL’,’CollatingSequence=ASCII;DBQ=D:SEND;DefaultDir=D:SEND;Deleted=0;Driver={Driver do Microsoft dBase (*.dbf)};FIL=dBase 5.0′,’select * from dbf表名.DBF’) A

–前提:先在機(jī)器上安裝BDE的驅(qū)動(dòng)

–也可以只導(dǎo)幾個(gè)字段

Select * Into 要生成的SQL表名 From openrowset(‘MSDASQL’,’Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:’,’select 字段1,字段2 from aa.DBF’)

/*說明:

SourceDB=c: c:是dbf文件的存放目錄

aa.Dbf 是dbf文件名

*/

延伸閱讀:

二、行式數(shù)據(jù)庫與列式數(shù)據(jù)庫應(yīng)用場(chǎng)景

行式更適合OLTP,比如傳統(tǒng)的基于增刪改查操作的應(yīng)用。列式更適合OLAP,非常適合于在數(shù)據(jù)倉庫領(lǐng)域發(fā)揮作用,比如數(shù)據(jù)分析、海量存儲(chǔ)和商業(yè)智能;涉及不經(jīng)常更新的數(shù)據(jù)。

由于設(shè)計(jì)上的不同,列式數(shù)據(jù)庫在并行查詢處理和壓縮上更有優(yōu)勢(shì)。而且數(shù)據(jù)是以列為單元存儲(chǔ),完全不用考慮數(shù)據(jù)建?;蛘哒f建模更簡單了。要查詢計(jì)算哪些列上的數(shù)據(jù),直接讀取列就行。

最后我們需要?jiǎng)?wù)實(shí)的指出,沒有使用廣泛的數(shù)據(jù)庫,列式數(shù)據(jù)庫也并非使用廣泛,只不過給DBA提供了更多的選擇,DBA需根據(jù)自己的應(yīng)用場(chǎng)景自行選擇。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
oracle怎么樣實(shí)現(xiàn)數(shù)據(jù)庫跨機(jī)房同步?

一、oracle怎么樣實(shí)現(xiàn)數(shù)據(jù)庫跨機(jī)房同步除了使用第三方工具,Oracle提供了extended cluster可以實(shí)現(xiàn)類似的功能,使用Oracle RAC + ASM。簡單說下...詳情>>

2023-10-14 01:57:43
web網(wǎng)站性能測(cè)試的常用指標(biāo)有哪些?

一、頁面加載時(shí)間頁面加載時(shí)間是衡量網(wǎng)站性能的重要指標(biāo)之一,它指的是從用戶請(qǐng)求一個(gè)頁面到頁面完全加載完成所需的時(shí)間。頁面加載時(shí)間的長短直...詳情>>

2023-10-14 01:50:34
MySQL索引為什么能讓查詢效率提高?

一、MySQL索引為什么能讓查詢效率提高DB在執(zhí)行一條Sql語句的時(shí)候,默認(rèn)的方式是根據(jù)搜索條件進(jìn)行全表掃描。如果我們對(duì)某一字段增加索引,查詢時(shí)...詳情>>

2023-10-14 01:38:15
什么是面向云原生系統(tǒng)的智能運(yùn)維?

一、云原生系統(tǒng)概述云原生系統(tǒng)是指在云計(jì)算環(huán)境下構(gòu)建和運(yùn)行的應(yīng)用程序系統(tǒng),具備高可用、彈性擴(kuò)展、靈活部署和自動(dòng)化管理等特點(diǎn)。它采用容器化...詳情>>

2023-10-14 01:25:33
怎么提升excel數(shù)據(jù)表訪問運(yùn)算速度?

一、怎么提升excel數(shù)據(jù)表訪問運(yùn)算速度目前版本Excel最大列數(shù)為16384,沒有10w加。運(yùn)算速度和Excel中是否有公式、公式的復(fù)雜度、對(duì)象的對(duì)少、格...詳情>>

2023-10-14 01:22:48
快速通道