要是FOXBASE/FOXPRO的庫文件
員工經(jīng)過長期磨合與沉淀,具備了協(xié)作精神,得以通過團隊的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。創(chuàng)新互聯(lián)公司堅持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因為“專注所以專業(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡單”。公司專注于為企業(yè)提供成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、微信公眾號開發(fā)、電商網(wǎng)站開發(fā),小程序開發(fā),軟件按需定制制作等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。
可以直接用EXCEL打開,然后保存為TXT文件,再用sqlldr導(dǎo)入oracle。
不過EXCEL有行數(shù)限制,大概是8W行
也可以直接把DBF文件COPY到FOXPRO環(huán)境。
然后在FOXPRO里把這個DBF(庫)打印到文本即可,就可以sqlldr導(dǎo)入ORacle。
方法一:查詢分析器中執(zhí)行如下語句(先選擇對應(yīng)的數(shù)據(jù)庫)
--如果接受導(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')
--也可以對應(yīng)列名進行導(dǎo)入,如:
insert
into
已經(jīng)存在的SQL表名
(列名1,列名2...)
select
(對應(yīng)列名1,對應(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)入時創(chuàng)建
--方法一:
select
*
into
要生成的SQL表名
from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase
IV;HDR=NO;IMEX=2;DATABASE=c:\','select
*
from
dbf表名.dbf')
--方法二:
select
*
into
要生成的SQL表名
from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase
III;HDR=NO;IMEX=2;DATABASE=c:\','select
*
from
dbf表名.dbf')
--方法三:
select
*
into
要生成的SQL表名
from
openrowset('MSDASQL','Driver=Microsoft
Visual
FoxPro
Driver;SourceType=DBF;SourceDB=c:\','select
*
from
dbf表名.DBF')
--用前兩種方法導(dǎo)入SQL
SERVER后,源表再用VFP打開就不提示“不能存取文件”,說明語句執(zhí)行后就把源表關(guān)閉了。不過也有不盡人意的地方,就是用前兩種方法導(dǎo)入后,源表中的字符型字段導(dǎo)入后SQL表字段對應(yīng)變成NVARCHAR了。
--第三種方法有一個缺點:把DBF表導(dǎo)入SQL
Server中后,馬上用VISUAL
FOXPRO打開DBF表,會提示“不能存取文件”,即這個表還被SQL打開著呢。可是過了1分鐘左右,再打開DBF表就可以了,說明經(jīng)過一段時間后查詢分析器才把這個表關(guān)閉。
--也可以只導(dǎo)幾個字段
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文件名
--*/
解決方法:
--方法一:
select * into 要生成的SQL表名 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase IV;HDR=NO;IMEX=2;DATABASE=c:/','select * from dbf表名.dbf')
--方法二:
select * into 要生成的SQL表名 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase III;HDR=NO;IMEX=2;DATABASE=c:/','select * from dbf表名.dbf')
--方法三:
select * into 要生成的SQL表名 from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:/','select * from dbf表名.DBF')
--用前兩種方法導(dǎo)入SQL SERVER后,源表再用VFP打開就不提示“不能存取文件”,說明語句執(zhí)行后就把源表關(guān)閉了。不過也有不盡人意的地方,就是用前兩種方法導(dǎo)入后,源表中的字符型字段導(dǎo)入后SQL表字段對應(yīng)變成NVARCHAR了。
--第三種方法有一個缺點:把DBF表導(dǎo)入SQL Server中后,馬上用VISUAL FOXPRO打開DBF表,會提示“不能存取文件”,即這個表還被SQL打開著呢。可是過了1分鐘左右,再打開DBF表就可以了,說明經(jīng)過一段時間后查詢分析器才把這個表關(guān)閉。
可以直接將dbf文件導(dǎo)入sqlserver數(shù)據(jù)庫,也可以先將dbf文件導(dǎo)入dataset,再將dataset的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫。dbf文件導(dǎo)入dataset的具體實現(xiàn)方法如下:
需要引入system.data.Odbc包
1.代碼實現(xiàn)
對DBF數(shù)據(jù)進行循環(huán),用SPT插入的SQL數(shù)據(jù)庫
2.利用數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入工具,一般會建立一個數(shù)據(jù)源進行連接.
3.如果數(shù)據(jù)庫是VFP的數(shù)據(jù)庫的話,可以用如下命令:
select temp
append from tmp.dbf
1、關(guān)閉數(shù)據(jù)庫
SQL shutdown immediate
2、回到solaris狀態(tài),將要移youtablespace.dbf到目的文件目錄,切記用cp,不能mv,以防止出錯SQL!
# cp youtablespace.dbf /u01/dev1/
3、以mount方式打開數(shù)據(jù)庫
(Oracle系統(tǒng)讀取控制文件中關(guān)于數(shù)據(jù)文件和重作日志文件的內(nèi)容,但并不打開該文件。這種打開方式常在數(shù)據(jù)庫維護操作中使用,如對數(shù)據(jù)文件的更名、改變重作日志以及打開歸檔方式等。)
SQL startup mount
4、alter database命令來改變數(shù)據(jù)庫中的文件名SQL alterdatabase rename file
'/u02/dev1/youtablespace.dbf' to
'/u01/dev1/youtablespace.dbf'
5、查看列名
SQL desc dba_data_files
6、查看各數(shù)據(jù)庫文件是否正常
SQL select file_name from
dba_data_files;
7、啟動實例.
SQL alter database open;8、確認無錯以后,刪除原數(shù)據(jù)文件
以下是具體實現(xiàn)步驟:(1)將MS SQL Server數(shù)據(jù)文件(*.mdf)導(dǎo)附加到本地數(shù)據(jù)庫,首先登錄到本地數(shù)據(jù)庫服務(wù)器,接著右擊您準備導(dǎo)入數(shù)據(jù)的數(shù)據(jù)庫,選擇“所有任務(wù)”下的“附加到數(shù)據(jù)庫...” 然后,按照提示選擇本地數(shù)據(jù)庫文件(*.mdf),即可實現(xiàn)將MS SQL Server數(shù)據(jù)文件(*.mdf)導(dǎo)附加到本地數(shù)據(jù)庫。(2)將本地的MS SQL Server數(shù)據(jù)導(dǎo)入到遠程服務(wù)器上。 以下演示引導(dǎo)客戶將本地的MS SQL Server數(shù)據(jù)導(dǎo)入到遠程服務(wù)器上,供客戶的網(wǎng)站使用。首先登錄到遠程數(shù)據(jù)庫服務(wù)器:1.右擊您準備導(dǎo)入數(shù)據(jù)的數(shù)據(jù)庫,選擇“所有任務(wù)”下的“導(dǎo)入數(shù)據(jù)”2.進入DTS導(dǎo)入/導(dǎo)出向?qū)Вc擊“下一步”按鈕繼續(xù)3.選擇數(shù)據(jù)源,輸入數(shù)據(jù)源所在的數(shù)據(jù)庫服務(wù)器名稱、用戶名、密碼和要復(fù)制數(shù)據(jù)的源數(shù)據(jù)庫,點擊“下一步”按鈕4.選擇目的,輸入目的數(shù)據(jù)庫所在的數(shù)據(jù)庫服務(wù)器名稱、用戶名、密碼和要復(fù)制數(shù)據(jù)的目的數(shù)據(jù)庫,點擊“下一步”按鈕5.選擇“在SQL Server數(shù)據(jù)庫之間復(fù)制對象和數(shù)據(jù)”方式,點“下一步”繼續(xù)6.取消安全措施選項7.設(shè)定調(diào)度方式,一般選“立即運行”就可以,然后點“下一步”繼續(xù)8.點“完成”執(zhí)行9.數(shù)據(jù)導(dǎo)入完成 至此即可將本地的MS SQL Server數(shù)據(jù)導(dǎo)入到遠程服務(wù)器上。
網(wǎng)頁標題:dbf導(dǎo)入數(shù)據(jù)庫php,db文件導(dǎo)入數(shù)據(jù)庫
文章轉(zhuǎn)載:http://chinadenli.net/article28/hecojp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站維護、用戶體驗、網(wǎng)站設(shè)計、網(wǎng)站設(shè)計公司、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)