如何将sql数据导入到oracle数据库,将SQLServer的数据导入到Oracle数据库的方法-Oracle...
1、首先在SQL Server的電腦上安裝Oracle,或者是操作的電腦上安裝Oracle,如果沒有,導出時會提示失敗
2、打開SQL Server,右鍵點擊要導出的數(shù)據(jù)庫,選擇“任務”下的導出數(shù)據(jù)
3、數(shù)據(jù)源按照要導出的數(shù)據(jù)庫填寫,點擊下一步
4、在目標頁選擇Oracle Provider for OLD DB,然后點擊“屬性”
5、在“連接”選項卡上的“數(shù)據(jù)源”那里填寫Oracle客戶端的服務命名,比如“orc1”,如果是遠程可以填寫上ip和端口號,例如“192.168.1.100:1521/orc1”,然后填寫用戶名和密碼,有一個“允許保存密碼”的選項,一定要勾上。然后點擊“測試連接”,如果提示“測試連接成功”就可以點擊“確定”按鈕繼續(xù)下一步了。
6、之后的步驟跟SQL Server之間導數(shù)據(jù)庫是一樣的。
注意事項
1、導入到Oracle后,有時候遇到表不屬于當前用戶的問題,檢查下導入時和登錄oracle是否使用的是同一個用戶,如果還不可以,可嘗試把SQL Server里的表名和字段名都轉成大寫后再導入,通常就能解決問題。
–SQLServer所有表名轉成大寫
declare @sql varchar(300)–,@rowcount varchar(10),@dyncnum int
declare @tablename varchar(100)
declare cursor1 cursor for
select name from sysobjects where xtype = ‘u’ order by name
open cursor1
fetch next from cursor1 into @tablename
while @@fetch_status=0
begin
set @sql=’sp_rename ”’+@tablename+”’,”’+upper(@tablename)+”” — 此為修改為大寫,如果修改為小寫“l(fā)ower”
–print @sql — 首先打印出來
exec(@sql)
fetch next from cursor1 into @tablename
end
close cursor1
deallocate cursor1
–SQLServer所有字段名大寫
declare @sql varchar(300)
declare @tablecolumnname varchar(100),@columnname varchar(100)
declare cursor1 cursor for
select b.name+’.[‘+a.name+’]’,a.name from syscolumns a,sysobjects b where a.id=object_id(b.name) and b.xtype=’u’ and a.xtype<>189 and a.xtype<>34 and a.xtype<>35 and a.xtype<>36
open cursor1
fetch next from cursor1 into @tablecolumnname,@columnname
while @@FETCH_STATUS=0
begin
set @sql=’sp_rename ”’+@tablecolumnname+”’,”’+UPPER(@columnname)+”’,”column”’
–print @sql
exec(@sql)
fetch next from cursor1 into @tablecolumnname,@columnname
end
close cursor1
deallocate cursor1
2、Oracle沒有主鍵自增的設置
3、Oracle日期類型跟Sqlserver不一樣,原有程序查詢的語句可能需要修改
4、Oracle的關鍵字和Sqlserver有些是不一樣的,也需要修改
總結
以上是生活随笔為你收集整理的如何将sql数据导入到oracle数据库,将SQLServer的数据导入到Oracle数据库的方法-Oracle...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle11g nid,Oracle
- 下一篇: MySQL/sqlserver查询in操