ora_01843 无效的月份问题(高手指点)看有分解决加分

gisinfo 2008-10-24 04:06:50
问题是

我有个SQL SERVER的数据库
有个字段数据类型是DATETIME
数据是这样的
2004-9-23 17:38:37
2004-9-27 16:30

我现在要把数据迁移到ORACLE里

我用的字段类型是TIMESTAMP可以存储到年 月 日 之后

但是问题是不管是中文字符集
还是西文字符集到报
月份无效

因为中文的月份是这样的 12-1月-04
西文的月份是这样的 12-SEP=04

反正不是SQLSERVER里的 数字
你说我郁闷不咯
我用了复制、SQLLDR、DTS都没成功

还有什么方法请高手指点
...全文
406 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
codearts 2008-10-27
  • 打赏
  • 举报
回复
我觉得你先把sqlserver的数据更正下,2004-9-27 16:30 改成 2004-9-27 16:30:00
然后再改统一的格式导入
gisinfo 2008-10-24
  • 打赏
  • 举报
回复
5楼

我知道你说的那个
只能连接

怎么操作啊

只有对表有复制功能啊??????

USE 名称
怎么写??
wiler 2008-10-24
  • 打赏
  • 举报
回复
可以考虑先转换成字符串型再用to_date转换,这样虽然麻烦点,但是应该能解决
sleepzzzzz 2008-10-24
  • 打赏
  • 举报
回复

试试这个办法:

使用sql server的链接服务器功能,是类似oarcle的dblink的,
创建成功后,可以在sql server中直接访问和操作oracle数据库中的table,
此时再使用insert into....select ...的方法将数据导入.
gisinfo 2008-10-24
  • 打赏
  • 举报
回复
我测试过不行
oracledbalgtu 2008-10-24
  • 打赏
  • 举报
回复
你需要把数据给同一成固定格式才行。
如果是字符型的,考虑update数据;
如果是日期型的,可以直接用,不会出问题。


[Quote=引用楼主 gisinfo 的帖子:]
问题是

我有个SQL SERVER的数据库
有个字段数据类型是DATETIME
数据是这样的
2004-9-23 17:38:37
2004-9-27 16:30

我现在要把数据迁移到ORACLE里

我用的字段类型是TIMESTAMP可以存储到年 月 日 之后

但是问题是不管是中文字符集
还是西文字符集到报
月份无效

因为中文的月份是这样的 12-1月-04
西文的月份是这样的 12-SEP=04

反正不是SQLSERVER里的 数字
你说我郁闷不咯
我用了…
[/Quote]
megakill 2008-10-24
  • 打赏
  • 举报
回复
select to_timestamp('2004-9-23 17:38:37','yyyy-mm-dd hh24:mi:ss') from dual
chenqingyu 2008-10-24
  • 打赏
  • 举报
回复
sqlldr可以指定日期格式...


17,377

社区成员

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

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