搜了半天,都没找到答案,还是要问一下..

lainY7mail 2008-04-08 03:50:20
用sql server 2005 的导入导出向导把数据(表aa)
导入orcale
查询的时候用select * from aa 能查到
select aa.id from aa 或select id from aa(id是列名)
说id标识符无效
好像很多人都遇到这个问题,但是都没有解决好

我想问
1.产生这个问题的原因是什么?
2.是不是要先在oracle里建好结构才行?
3.比较好的导入方法是什么?

...全文
117 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
叶子 2008-04-09
  • 打赏
  • 举报
回复
全是大写的字段就应该没有问题了。
JiangHua0903 2008-04-08
  • 打赏
  • 举报
回复
在DTS里可以修改,但需要对每个表进行设置.
在"选择源表和视图"里,每行都有个转换按钮->编辑SQL,把用户名引号去了
SYUEHOKO 2008-04-08
  • 打赏
  • 举报
回复
就我所知,好像没有.最好的办法1楼所说.在ORACLE建一张一样的表.然后开始互导.
还有ORACLE里是区分大小写的.如果你的SQLSERVER里的数据有小写的话,ORACLE认为是两条记录,而不是同一条记录.
lainY7mail 2008-04-08
  • 打赏
  • 举报
回复
guoxiaoshou2000:
谢谢,不过和我的情况不同

我查看列名,确实是变成了 "id"
只是我想知道怎么避免
或能不能在DTS中修改sql避免
小兽 2008-04-08
  • 打赏
  • 举报
回复
看看这个有没有用
http://blog.oracle.com.cn/?uid-3453-action-viewspace-itemid-1296
lainY7mail 2008-04-08
  • 打赏
  • 举报
回复
为什么加上双引号,字段名就被强制成小写?
怎么才能避免这个问题

先建表再导数据,DTS说目标数据源已存在该表
具体该怎么做呢?
小兽 2008-04-08
  • 打赏
  • 举报
回复
更新一下数据字典试试
粉菜学长 2008-04-08
  • 打赏
  • 举报
回复
好像很难,大家帮帮
TodayZ 2008-04-08
  • 打赏
  • 举报
回复
1,原因是表结构大小写敏感造成的。由于导入时DTS建表时把字段都加上的双引号,造成字段名被强制成小写。你必须用:
select "id" from aa; 的方式来查询。
2,通常是推荐先建表再导数据。这样不但可以避免这种大小写问题,可以设定表的各种存储参数。
3,sql server 导入导出其实是一个不错的工具,使用很简单。当然你要做复杂处理的话,有很多ETL工具可供选择。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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