狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當(dāng)前位置:系統(tǒng)之家 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

從SQL server數(shù)據(jù)庫導(dǎo)入Mysql數(shù)據(jù)庫的體驗

從SQL server數(shù)據(jù)庫導(dǎo)入Mysql數(shù)據(jù)庫的體驗

更新時間:2024-04-08 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

因工作需要,要將存放在sql server數(shù)據(jù)庫中的數(shù)據(jù)全部導(dǎo)入到mysql數(shù)據(jù)庫中,在網(wǎng)上搜集相關(guān)資料,找到兩種方法,現(xiàn)在分別談?wù)剬λ麄兊目捶ā?
第一種是安裝mysql ODBC,利用sql server的導(dǎo)出功能,選擇mysql數(shù)據(jù)源,進(jìn)行數(shù)據(jù)的直接導(dǎo)出,這種方法很簡便,但是針對實際應(yīng)用有很多弊端,最主要體現(xiàn)就是數(shù)據(jù)類型問題,首先,sql server數(shù)據(jù)庫中
的ntext,image等數(shù)據(jù)類型的數(shù)據(jù)無法直接寫入到mysql數(shù)據(jù)庫中,據(jù)說只要稍加改動就可以,可惜偶這只菜鳥還沒想到如何改動,其次,因為偶在mysql中的數(shù)據(jù)庫設(shè)計中將時間都設(shè)成int型(保存的是時間戳),所以在數(shù)據(jù)導(dǎo)過來后,就會出現(xiàn)沖突,再次,這種方法生成的mysql數(shù)據(jù)表的字段類型都不很合適,所以此種方法我覺得不能提倡。

第二種是利用php或asp腳本來實現(xiàn)數(shù)據(jù)的導(dǎo)入功能,這種方法需要編寫程序,但靈活性大,操作也不是那么困難,一切都盡在你的掌握之中,現(xiàn)簡單介紹一下該方法
前提條件是你的mysql環(huán)境已經(jīng)搭建好了,先建好目標(biāo)數(shù)據(jù)庫,再將所有的表結(jié)構(gòu)用sql語句生成,現(xiàn)在萬事具備,只缺數(shù)據(jù)了。

可以通過下面的php腳本來實現(xiàn)sql server中mydb數(shù)據(jù)庫的user表中數(shù)據(jù)向mysql中mydb數(shù)據(jù)庫導(dǎo)入
<?
$cnx = odbc_connect('web', 'admin', '123456');//'web'是sqlserver中mydb的數(shù)據(jù)源名,'admin'是訪問mydb的用戶名,'123456'是訪問mydb的密碼
$cur= odbc_exec( $cnx, 'select * from user' );//打開sql server中mydb數(shù)據(jù)庫的user表
$num_row=0;
$conn=mysql_pconnect("localhost","root","123456");// 連接mysql
@mysql_select_db('mydb',$conn) or

die("無法連接到數(shù)據(jù)庫,請與管理員聯(lián)系!");//打開mysql的mydb數(shù)據(jù)庫
while( odbc_fetch_row( $cur )) //從sql server的mydb庫中的user表逐條取出數(shù)據(jù),如果對數(shù)據(jù)進(jìn)行選擇,可在前面的select語句中加上條件判斷
{
$num_row++;
$field1 = odbc_result( $cur, 1 ); // 這里的參數(shù)i(1,2,3..)指的是記錄集中的第i個域,你可以有所選擇地進(jìn)行選取,fieldi得到對應(yīng)域的值,然后你可以對fieldi進(jìn)行操作
$field2 = odbc_result( $cur, 2 );
$field3 = odbc_result( $cur, 3 );
$field4 = odbc_result( $cur, 4 );
$field5 = odbc_result( $cur, 5 );
$field6 = odbc_result( $cur, 6 );
$field5 = timetoint($field5); //這里是對sql server中的datetime類型的字段進(jìn)行相應(yīng)轉(zhuǎn)換處理,轉(zhuǎn)換成我所需要的int型
$querystring = "insert into user
(id,name,username,password,recdate)
values('$field1','$field2','$field3','$field4','$field5')" ;

mysql_query($querystring,$conn);
}

function timetoint($str){
$arr1=split(" ",$str);
$datestr=$arr1[0];
$timestr=$arr1[1];
$arr_date=split("-",$datestr);
$arr_time=split(":",$timestr);
$year=$arr_date[0];
$month=$arr_date[1];
$day=$arr_date[2];
$hour=$arr_time[0];
$minute=$arr_time[1];
$second=$arr_time[2];
$time_int=mktime($hour,$minute,$second,$month,$day,$year);
return $time_int;
}
?>

將該段腳本存成sql.php,在服務(wù)器上執(zhí)行,就可以將服務(wù)器上sql server中mydb數(shù)據(jù)庫的user表中的數(shù)據(jù)導(dǎo)入到mysql中mydb數(shù)據(jù)庫的user表中去。其他表的操作與此雷同,就不贅述了。

下面再介紹一下asp腳本實現(xiàn)sql server中mydb數(shù)據(jù)庫的數(shù)據(jù)向mysql中mydb數(shù)據(jù)庫導(dǎo)入
<%
set conn=server.createobject("adodb.connection")
conn.open 'web', 'admin', '123456' // 'web'是sqlserver中mydb的數(shù)據(jù)源名,'admin'是訪問mydb的用戶名,'123456'是訪問mydb的密碼
set rs=server.createobject("adodb.recordset")
sql="select ID,name,username,password,datediff(s,'1970-01-01 00:00:00',recdate)-8*3600,reid,filename,fileContentType,filevalue from senddate" //這條sql語句實現(xiàn)了將datetime類型的recdate字段轉(zhuǎn)化成unix時間戳的int型

rs.open sql,conn,1,3
set conn1=server.createobject("adodb.connection")
conn1.open "myoa","root","q1-d6=7?"
i=1
do while not rs.eof
field1 = rs(0)
field2 = rs(1)
field3 = rs(2)
field4 = rs(3)
field5 = rs(4)
sql1 = "insert into user(ID,name,username,password,recdate)

values("&field1&",'"&field2&"','"&field3&"','"&field4&"',"&field5&")"

conn1.execute sql1
rs.movenext
i=i+1
loop
rs.close
set rs=nothing
conn.close
set conn=nothing
conn1.close
set conn1=nothing

%>

以上兩個是分別采用php腳本和asp腳本對user表的數(shù)據(jù)進(jìn)行由sql server到mysql的導(dǎo)入其間我采用2種回避的方法來避免ntext,image類型數(shù)據(jù)的傳遞,一種是將ntext字段改為nvarchar(4000),因為實際情況,原始數(shù)據(jù)中該字段的數(shù)據(jù)長度都未超過4000個字,所以并沒有出現(xiàn)數(shù)據(jù)截斷,另一個手段是將image類型數(shù)據(jù)取出來寫到文件中,以文件形式保存,將文件路徑存到數(shù)據(jù)庫中,方法見下:

function makeattach(fileContentType,filevalue,i)
select case fileContentType
case "application/msword"
ext="doc"

case "application/vnd.ms-excel"
ext="exl"

case "application/vnd.ms-powerpoint"
ext="pps"

case "application/x-rar-compressed"
ext="rar"

case "application/x-zip-compressed"
ext="zip"

case "image/gif"
ext="gif"

case "image/pjpeg"
ext="jpg"

case "text/plain"
ext="txt"

case else
ext="x"

end select
if ext<>"x" then
set fso=server.createobject("FileSystemObject")
fName="attech"&i&"."&ext
Dir="d:attach"
If fso.FileExists(Dir & fName) Then fso.deletefile Dir & fName
If fName<>"" AND NOT fso.FileExists(Dir & fName) Then
Set strm1=Server.CreateObject("ADODB.Stream")
strm1.Open
strm1.Type=1 'Binary
strm1.Write filevalue
strm1.SaveToFile Dir & fName,2
Set strm1=Nothing
end if
makeattach=fName
end if
end function

這個函數(shù)有3個輸入?yún)?shù),第一個是文件的contentType,第二個是文件的二進(jìn)制數(shù)值,第三個是個可以區(qū)別文件名的變量,先根據(jù)contentType確定所存文件的后綴名,然后就是將二進(jìn)制數(shù)值保存成指定文件名的文件,并將文件名作為輸出參數(shù)返回,將返回的參數(shù)作為數(shù)據(jù)寫到mysql的數(shù)據(jù)庫中保存。
時間匆忙,先總結(jié)到這里,希望這些文字能對有需要的人有些幫助,少走些彎路,感謝您的閱讀。:)

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
一区二区三区四区精品在线视频 | 2024国产精品| 91精品国产欧美日韩| 久久精品网址| 麻豆亚洲精品| 在线观看日韩国产| 欧美亚洲日本一区| 884aa四虎影成人精品一区| 欧美日韩一区在线| 在线播放一区二区三区| 日韩欧美国产一区二区三区 | 亚洲人xxxx| 樱花草国产18久久久久| 悠悠色在线精品| 天堂va蜜桃一区二区三区| 轻轻草成人在线| 国产激情精品久久久第一区二区| 韩国中文字幕2020精品| 国产精品一区二区久久不卡| 成人av影院在线| 欧美亚州在线观看| 国产精品久久亚洲7777| 色综合久久久久综合体| 69p69国产精品| 欧美精品一区二区三区在线| 久久久精品国产免费观看同学| 国产视频不卡一区| 一级做a爱片久久| 麻豆精品视频在线观看免费| 床上的激情91.| 亚洲福利国产| 欧美日韩极品在线观看一区| 欧美日韩国产不卡| 久久亚洲春色中文字幕久久久| 国产精品福利一区| 免费人成在线不卡| 95精品视频在线| 免费视频一区| 久久中文娱乐网| 亚洲自拍偷拍图区| 国产suv一区二区三区88区| 欧美一区二区三区久久精品| 免费国产自线拍一欧美视频| 欧美肥妇bbw| 亚洲精品亚洲人成人网| 麻豆免费精品视频| 欧美啪啪一区| 欧美丝袜丝交足nylons| 国产精品久久国产精麻豆99网站| 蜜桃视频在线一区| 国产一在线精品一区在线观看| 色综合久久88色综合天天6| 精品少妇一区二区三区视频免付费| 亚洲欧洲成人av每日更新| 国内一区二区在线| 99国产精品久久久久久久成人热| 欧美精品xxxxbbbb| 亚洲午夜在线视频| 99国产精品久久| 日本道精品一区二区三区| 欧美国产日韩亚洲一区| 国内精品在线播放| 先锋亚洲精品| 国产精品私人自拍| 国产美女主播视频一区| 国产亚洲一区在线播放| 久久久久久97三级| 国产精品一区一区| 久久亚洲不卡| 亚洲精品成人a在线观看| 国产v综合v亚洲欧| 欧美丝袜第三区| 亚洲国产精品久久人人爱蜜臀| av激情成人网| 在线不卡欧美精品一区二区三区| 亚洲图片欧美色图| 亚洲第一伊人| 国产精品免费丝袜| 97精品久久久久中文字幕| 欧美日韩第一区日日骚| 日韩av一级片| 亚洲综合二区| 亚洲综合色自拍一区| 国产综合欧美| 久久免费国产精品| 成a人片亚洲日本久久| 欧美日韩国产在线观看| 水野朝阳av一区二区三区| 亚洲一区二区三区涩| 亚洲久草在线视频| 一区在线视频| 中文字幕一区日韩精品欧美| 欧美在线三区| 国产欧美va欧美不卡在线| 91视频免费观看| 国产人妖乱国产精品人妖| 9色porny自拍视频一区二区| 日韩女优制服丝袜电影| 福利一区在线观看| 日韩精品一区二区在线| 国产a精品视频| 欧美tk丨vk视频| 成人免费视频app| 精品久久久久久久久久久院品网 | av不卡一区二区三区| 精品国产百合女同互慰| 北条麻妃国产九九精品视频| 亚洲精品在线电影| 欧美不卡福利| 中文字幕日韩欧美一区二区三区| 欧美三级视频| 亚洲一二三四久久| 亚洲欧美日韩专区| 免费人成精品欧美精品| 制服丝袜亚洲色图| 91丨九色porny丨蝌蚪| 国产精品久久网站| 国产乱码精品| 久久疯狂做爰流白浆xx| 欧美一区二区三区啪啪| 99久久精品99国产精品| 亚洲视频在线一区二区| 性8sex亚洲区入口| 国产在线播放一区二区三区| 日韩女优电影在线观看| 一区免费视频| 日产欧产美韩系列久久99| 欧美一区二区三区免费视频| 欧美在线91| 午夜久久久久久电影| 日韩一区二区三区高清免费看看| 成人的网站免费观看| 中文字幕制服丝袜成人av| 午夜影院日韩| 成人美女在线视频| 亚洲精品亚洲人成人网在线播放| 久久综合中文| 91小视频在线| 午夜精品一区二区三区电影天堂| 欧美日韩国产精选| 亚洲性人人天天夜夜摸| 久久精品国产精品青草| 国产色一区二区| 一本色道久久加勒比精品| 成人av在线观| 亚洲成人中文在线| 精品美女一区二区| 国产伦理一区| 93久久精品日日躁夜夜躁欧美| 亚洲国产日日夜夜| 精品国产一区二区三区忘忧草| 91久久黄色| 成人黄色a**站在线观看| 夜夜爽夜夜爽精品视频| 欧美变态tickling挠脚心| 国产女主播一区二区| av在线播放成人| 人人狠狠综合久久亚洲| 国产农村妇女精品| 欧美一区二区三区喷汁尤物| 亚洲一区网站| 欧美日韩国内| 成人精品视频网站| 美腿丝袜亚洲综合| 1024成人网色www| 欧美电影免费观看高清完整版在| 久久xxxx精品视频| 欧美特黄a级高清免费大片a级| 麻豆精品一区二区三区| 亚洲欧美成aⅴ人在线观看| 精品国产一区久久| 欧美日韩精品一区二区在线播放| 亚洲人成人一区二区三区| 91色婷婷久久久久合中文| 精品夜夜嗨av一区二区三区| 亚洲一区在线视频| 国产精品美女www爽爽爽| 日韩精品一区二区三区三区免费| 久久国产日韩| 99精品国产99久久久久久福利| 不卡的电影网站| 国产成人免费视频网站| 久久99精品久久久| 日韩黄色片在线观看| 洋洋成人永久网站入口| 国产精品久久久久一区二区三区共| 欧美一区二区福利在线| 欧美日韩一级黄| 欧美无乱码久久久免费午夜一区| 午夜一区二区三区不卡视频| 亚洲精品一区二| 狠狠色伊人亚洲综合网站色 | 日韩一级片网址| 欧美男人的天堂一二区| 欧美日韩中文精品| 在线视频国内一区二区| 久久亚洲国产精品日日av夜夜| 国产一区二区三区成人欧美日韩在线观看| 国产精品九九| 伊人久久大香线蕉av超碰演员|