Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何使用LinkedServer以时间戳(6)格式插入SQL Server到Oracle的日期_Sql Server_Oracle_Date_Timestamp_Linked Server - Fatal编程技术网

Sql server 如何使用LinkedServer以时间戳(6)格式插入SQL Server到Oracle的日期

Sql server 如何使用LinkedServer以时间戳(6)格式插入SQL Server到Oracle的日期,sql-server,oracle,date,timestamp,linked-server,Sql Server,Oracle,Date,Timestamp,Linked Server,我有一些记录必须使用LinkedServer从SQL server迁移到Oracle server SQL Server中的日期:2014-12-31 11:16:39.000 对于Oracle,日期应转换为以下格式:时间戳(6) 对于这个操作,我尝试了一些脚本。这些脚本在用于Oracle迁移的插入脚本之外成功地工作。但这些结果与Oracle日期类型无关 执行的脚本: CONVERT(varchar(24), BEGIN_DATETIME, 121) AS BEGIN_DATE` 试过20、

我有一些记录必须使用LinkedServer从SQL server迁移到Oracle server

SQL Server中的日期:
2014-12-31 11:16:39.000

对于Oracle,日期应转换为以下格式:
时间戳(6)

对于这个操作,我尝试了一些脚本。这些脚本在用于Oracle迁移的插入脚本之外成功地工作。但这些结果与Oracle日期类型无关

执行的脚本:

CONVERT(varchar(24), BEGIN_DATETIME, 121) AS BEGIN_DATE` 
试过20、21、120次

CURRENT_TIMESTAMP AS BEGIN_DATE

CAST(BEGIN_DATETIME as timestamp)

TO_TIMESTAMP(BEGIN_DATE, 'YYYY-MM-DD HH24:MI:SS')
返回到_timestamp'不是可识别的内置函数名

脚本将返回一个错误:

链接服务器“LNK_DEV”的OLE DB提供程序“OraOLEDB.Oracle”为列“BEGIN_DATE”提供了无效元数据。不支持该数据类型


迁移时,我没有在SQL Server中格式化或更改日期值,就解决了问题。我尝试了不同类型的LinkedServer脚本


用于LinkedServer的脚本类型1

INSERT INTO 
    [LNK_DEV]..[TEST].[DIAG_TABLE]
SELECT
    [BEGIN_DATE] = CONVERT(varchar(24), BEGIN_DATE, 121) AS BEGIN_DATE
FROM 
    TEST.DIAG_TABLE_SQLSERVER
INSERT INTO
    OPENQUERY([LNK_DEV], 'SELECT BEGIN_DATE FROM TEST.DIAG_TABLE') 
SELECT 
    BEGIN_DATE
FROM 
    TEST.DIAG_TABLE_SQLSERVER
此脚本返回错误:链接服务器“LNK\u DEV”的OLE DB提供程序“OraOLEDB.Oracle”为列“BEGIN\u DATE”提供了无效元数据。不支持该数据类型


用于LinkedServer的脚本类型2

INSERT INTO 
    [LNK_DEV]..[TEST].[DIAG_TABLE]
SELECT
    [BEGIN_DATE] = CONVERT(varchar(24), BEGIN_DATE, 121) AS BEGIN_DATE
FROM 
    TEST.DIAG_TABLE_SQLSERVER
INSERT INTO
    OPENQUERY([LNK_DEV], 'SELECT BEGIN_DATE FROM TEST.DIAG_TABLE') 
SELECT 
    BEGIN_DATE
FROM 
    TEST.DIAG_TABLE_SQLSERVER

此查询已成功完成,记录已正确移动到Oracle Server。

尝试过,但仍无法正常工作相同错误“不支持数据类型”