亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

數據從sqlserver導入mysql數據庫的體驗

2019-09-08 23:26:56
字體:
來源:轉載
供稿:網友

第一種是安裝mysql ODBC,利用sql server的導出功能,選擇mysql數據源,進行數據的直接導出,這種方法很簡便,但是針對實際應用有很多弊端,最主要體現就是數據類型問題,首先,sql server數據庫中的ntext,image等數據類型的數據無法直接寫入到mysql數據庫中,據說只要稍加改動就可以,可惜偶這只菜鳥還沒想到如何改動,其次,因為偶在mysql中的數據庫設計中將時間都設成int型(保存的是時間戳),所以在數據導過來后,就會出現沖突,再次,這種方法生成的mysql數據表的字段類型都不很合適,所以此種方法我覺得不能提倡。

第二種是利用php或asp腳本來實現數據的導入功能,這種方法需要編寫程序,但靈活性大,操作也不是那么困難,一切都盡在你的掌握之中,現簡單介紹一下該方法前提條件是你的mysql環境已經搭建好了,先建好目標數據庫,再將所有的表結構用sql語句生成,現在萬事具備,只缺數據了?!?

可以通過下面的php腳本來實現sql server中mydb數據庫的user表中數據向mysql中mydb數據庫導入

以下為引用的內容:

  <?
  $cnx = odbc_connect('web', 'admin', '123456');//'web'是sqlserver中mydb的數據源名,'admin'是訪問mydb的用戶名,'123456'是訪問mydb的密碼
  $cur= odbc_exec( $cnx, 'select * from user' );//打開sql server中mydb數據庫的user表
  $num_row=0;
  $conn=mysql_pconnect("localhost","root","123456");// 連接mysql
  @mysql_select_db('mydb',$conn) or
  
  die("無法連接到數據庫,請與管理員聯系!");//打開mysql的mydb數據庫
  while( odbc_fetch_row( $cur ))      //從sql server的mydb庫中的user表逐條取出數據,如果對數據進行選擇,可在前面的select語句中加上條件判斷
 {
   $num_row++;
   $field1 = odbc_result( $cur, 1 );  // 這里的參數i(1,2,3..)指的是記錄集中的第i個域,你可以有所選擇地進行選取,fieldi得到對應域的值,然后你可以對fieldi進行操作
   $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類型的字段進行相應轉換處理,轉換成我所需要的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,在服務器上執行,就可以將服務器上sql server中mydb數據庫的user表中的數據導入到mysql中mydb數據庫的user表中去。其他表的操作與此雷同,就不贅述了。

下面再介紹一下asp腳本實現sql server中mydb數據庫的數據向mysql中mydb數據庫導入

以下為引用的內容:

  <%
  set conn=server.createobject("adodb.connection")
  conn.open 'web', 'admin', '123456' // 'web'是sqlserver中mydb的數據源名,'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語句實現了將datetime類型的recdate字段轉化成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表的數據進行由sql server到mysql的導入其間我采用2種回避的方法來避免ntext,image類型數據的傳遞,一種是將ntext字段改為nvarchar(4000),因為實際情況,原始數據中該字段的數據長度都未超過4000個字,所以并沒有出現數據截斷,另一個手段是將image類型數據取出來寫到文件中,以文件形式保存,將文件路徑存到數據庫中,方法見下: 

以下為引用的內容:

  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

這個函數有3個輸入參數,第一個是文件的contentType,第二個是文件的二進制數值,第三個是個可以區別文件名的變量,先根據contentType確定所存文件的后綴名,然后就是將二進制數值保存成指定文件名的文件,并將文件名作為輸出參數返回,將返回的參數作為數據寫到mysql的數據庫中保存。

MYSQL 數據庫

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久久久中文字幕| 日韩美女视频免费在线观看| 国产成人在线视频| 日韩成人激情视频| 91精品国产乱码久久久久久蜜臀| 亚洲乱码国产乱码精品精| 欧美中文字幕在线| 日韩视频欧美视频| 成人免费网站在线看| 三级精品视频久久久久| 亚洲欧美国产另类| 中文国产成人精品久久一| 日韩精品视频观看| 浅井舞香一区二区| 精品中文字幕视频| 久久久精品一区二区三区| 热久久美女精品天天吊色| 亚洲最大福利网站| 91精品国产网站| 国产美女扒开尿口久久久| 日韩福利视频在线观看| 欧美一级视频一区二区| 日韩小视频在线观看| 欧美日韩亚洲网| 日韩国产一区三区| 日韩在线观看高清| 亚洲热线99精品视频| 97精品国产97久久久久久| 亚洲国产高清福利视频| 一本色道久久88亚洲综合88| 国产一区二区三区日韩欧美| 亚洲激情电影中文字幕| 欧美成人精品一区二区三区| 96sao精品视频在线观看| 国产精品大片wwwwww| 岛国av一区二区| 欧洲永久精品大片ww免费漫画| 欧洲日本亚洲国产区| 欧美壮男野外gaytube| 中文字幕亚洲无线码在线一区| 国产国语刺激对白av不卡| 欧美大片网站在线观看| 国产精品爽黄69天堂a| 亚洲91精品在线观看| 最新69国产成人精品视频免费| 亚洲欧美自拍一区| 日韩精品中文在线观看| 欧美日韩成人精品| 热久久免费国产视频| 4444欧美成人kkkk| 久久精品福利视频| 欧美一区三区三区高中清蜜桃| 久久人人爽人人爽爽久久| 欧美性videos高清精品| 中文字幕在线精品| 激情成人中文字幕| 欧美视频精品一区| 日韩精品免费观看| 亚洲成人a**站| 91久久精品美女高潮| 69av在线视频| 一本色道久久综合狠狠躁篇的优点| 欧美夜福利tv在线| 国产精品狠色婷| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产精品xxx视频| 欧美性xxxx极品高清hd直播| 欧美日韩国内自拍| 97久久久久久| 2019国产精品自在线拍国产不卡| 欧美日韩电影在线观看| 日韩欧美成人网| 中文字幕久精品免费视频| 欧美亚洲视频在线看网址| 中文字幕精品—区二区| 国产成人精品久久二区二区91| 亚洲精品久久久久中文字幕欢迎你| 亚洲va码欧洲m码| 国产精品欧美激情在线播放| 91精品国产色综合| 亚洲美女福利视频网站| 国内精品久久久久久影视8| 综合国产在线观看| 久久精品亚洲一区| 91福利视频在线观看| 日韩视频在线一区| 理论片在线不卡免费观看| 国产97色在线| 色悠悠久久88| 日韩成人中文字幕在线观看| 亚洲aaaaaa| 97视频在线观看免费| 国产精品欧美一区二区三区奶水| 亚洲aⅴ男人的天堂在线观看| 全球成人中文在线| 68精品国产免费久久久久久婷婷| 国产精品香蕉在线观看| 91亚洲午夜在线| 亚洲一区二区三区xxx视频| 国产精品视频播放| 78色国产精品| 国产视频精品xxxx| 91成人福利在线| 欧美—级高清免费播放| 日韩性生活视频| 国产午夜一区二区| 国内免费久久久久久久久久久| 久久中文字幕在线| 丝袜一区二区三区| 国产精品免费久久久| 国自产精品手机在线观看视频| 亚洲人成电影在线播放| 欧美日韩国产色| 国产丝袜视频一区| 欧美专区日韩视频| 国产亚洲视频在线| 久久国产精品久久精品| 国产精品国模在线| 午夜精品一区二区三区视频免费看| 亚洲欧美制服丝袜| 亚洲福利视频网| 爽爽爽爽爽爽爽成人免费观看| 国产成人精品一区二区| 成人伊人精品色xxxx视频| 欧美日韩亚洲一区二区三区| 成人淫片在线看| 午夜精品一区二区三区在线| 欧美日韩另类字幕中文| 欧美激情第三页| 亚洲欧美激情精品一区二区| 欧洲美女7788成人免费视频| 国产丝袜精品视频| 亚洲成人精品av| 久久久久免费精品国产| 91国产美女在线观看| 久久精品电影网| 欧美与欧洲交xxxx免费观看| 国产精品劲爆视频| 亚洲人精品午夜在线观看| 欧美成人精品一区| 国产欧美日韩最新| 午夜精品福利视频| 九九热99久久久国产盗摄| 综合136福利视频在线| 国产成人精品国内自产拍免费看| 日韩禁在线播放| www欧美xxxx| 成人精品久久av网站| 国产在线精品成人一区二区三区| 国产精品亚洲欧美导航| 亚洲精品v天堂中文字幕| 91在线视频免费| 91久久在线观看| 国产精品丝袜一区二区三区| 国产精品视频免费观看www| 日韩欧美一区视频| 亚洲免费视频网站| 欧美极品欧美精品欧美视频| 午夜剧场成人观在线视频免费观看| 亚洲精品动漫100p| 亚洲一区二区三区乱码aⅴ| 欧美成人亚洲成人日韩成人| 国产偷国产偷亚洲清高网站| 国产日韩欧美夫妻视频在线观看|