SQL Server 2005转换Oracle 10g的问题

tianhuo_soft 2009-04-22 11:35:06
我使用SQL Server 2005 数据库右键导出数据 功能(暂时还没使用SSIS)
问题在于SQL Server 2005中的表名、字段都是小写的,并且程序里面的SQL语句也都是用的小写

在Oracle里面必须要大写才能识别,小写的话要加引号,这样程序、存储过程、触发器要改很多东西。

在转换过程能不能将这些小写的批量转成大写的?
或者在其他的步骤将这些小写的批量转成大写的?



...全文
338 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhenren12 2009-08-31
  • 打赏
  • 举报
回复
如果我只有SQL server数据文件,怎么转换?
Andy__Huang 2009-04-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 tianhuo_soft 的帖子:]
我使用SQL Server 2005 数据库右键导出数据 功能(暂时还没使用SSIS)
问题在于SQL Server 2005中的表名、字段都是小写的,并且程序里面的SQL语句也都是用的小写

在Oracle里面必须要大写才能识别,小写的话要加引号,这样程序、存储过程、触发器要改很多东西。

在转换过程能不能将这些小写的批量转成大写的?
或者在其他的步骤将这些小写的批量转成大写的?
[/Quote]
在Oracle里面必须要大写才能识别,小写的话要加引号,这样程序、存储过程、触发器要改很多东西。
===================================
oracle的字段不需要大写的,但是你select出来的全部是大写的;
如果你要小写就要自己加单引号或双引号

你在存储过程里的字段名小写也可以识别的


ks_reny 2009-04-22
  • 打赏
  • 举报
回复
關注.
ai_li7758521 2009-04-22
  • 打赏
  • 举报
回复
哎,没办法啊
关注..
htl258_Tony 2009-04-22
  • 打赏
  • 举报
回复
还没找到方法,先帮顶.
tianhuo_soft 2009-04-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 HEROWANG 的回复:]
楼主,用折中方法行否?

例如:先到处到txt中,然后使用word转换成大些,然后在导到oracle,可行?
[/Quote]

这个在SSMS里面直接用快捷键就能变成大写,
但是我变成大写以后导出时报错
弄的我很郁闷
-晴天 2009-04-22
  • 打赏
  • 举报
回复
恐怕不行.
update sysobjects set name=upper(name) where xtype='U'
/*
消息 259,级别 16,状态 1,第 6 行
不允许对系统目录进行即席更新。
*/
  • 打赏
  • 举报
回复
楼主,用折中方法行否?

例如:先到处到txt中,然后使用word转换成大些,然后在导到oracle,可行?
  • 打赏
  • 举报
回复
关注。友情帮顶
ws_hgo 2009-04-22
  • 打赏
  • 举报
回复
强烈关注
叶子 2009-04-22
  • 打赏
  • 举报
回复
如果数据库中字段和存储过程中的字段全用大写,那么在程序前台用的字段的地方就都需要改,很麻烦,目前没有什么好办法,等高手。
叶子 2009-04-22
  • 打赏
  • 举报
回复
在oracle中不加引号,默认全是大写。
tianhuo_soft 2009-04-22
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 hongqi162 的回复:]
不明白你什么意思,如果你只导数据到oracle的话,采用生成insert语句的方法不会有问题的,也不会有大小写问题。


存储过程/触发器是什么意思?他们oracle/sqlserver两个之间应该是不能通用的吧。
[/Quote]

比如
create table testUpper(col varchar2(10))
这个现在在Oracle是testUpper不是TESTUPPER
哪么在存储过程中使用如下的语句就会报错select * from testUpper ,我就要加引号才不报错
几百G上T的数据库,我一个一个改啊?

如果表名是TESTUPPER就报错
tianhuo_soft 2009-04-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 wgqqgw 的回复:]
谁说Oracle不能用小写??只是你看到的都是大写而已。
你先导出一个小的表再导入Oracle试试看再说呀。
[/Quote]

create table testUpper(col varchar2(10))

select * from testUpper
您如果在查询时不报错 请告诉我,您使用的是什么数据库
至少我使用的Oracle 10g报错
hongqi162 2009-04-22
  • 打赏
  • 举报
回复
不明白你什么意思,如果你只导数据到oracle的话,采用生成insert语句的方法不会有问题的,也不会有大小写问题。


存储过程/触发器是什么意思?他们oracle/sqlserver两个之间应该是不能通用的吧。
wgqqgw 2009-04-22
  • 打赏
  • 举报
回复
谁说Oracle不能用小写??只是你看到的都是大写而已。
你先导出一个小的表再导入Oracle试试看再说呀。
claro 2009-04-22
  • 打赏
  • 举报
回复
MS不支持直接更改系统数据库。建议尝试其他方式。
子陌红尘 2009-04-22
  • 打赏
  • 举报
回复
做一个遍历的操作,用sp_rename系统存储过程去逐个字段更新。

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧