从MSSQL添加对Oracle的链接服务器的存储过程 /*
Name : Stp_TianJiaLianJieFuWuQi
Function : 添加链接服务器并设置其服务器选项和安全性选项
Steps : 调用系统存储过程sp_addlinkedserver添加链接服务器
调用系统存储过程sp_serveroption设置链接服务器选项
调用系统存储过程sp_addlinkedsrvlogin添加对链接服务器的登录
Author : Waxdoll Cheung
Date : 2003-12-11
*/
CREATE PROCEDURE dbo.Stp_TianJiaLianJieFuWuQi
AS
-- 添加链接服务器
EXEC sp_addlinkedserver
-- 链接服务器名称
@Server = 'ORC',
-- 产品名称
@SrvProduct = 'Oracle',
-- 数据驱动提供者
@Provider = 'MSDAORA',
-- Oracle数据源
@DataSrc = 'ORC' -- 设置链接服务器选项
-- 数据访问选项设置为TRUE
EXEC sp_serveroption
@server = 'ORC',
@optname = 'Data Access',
@optvalue = 'TRUE'
-- RPC选项设置为TRUE
EXEC sp_serveroption
@server = 'ORC',
@optname = 'RPC',
@optvalue = 'TRUE'
-- RPC OUT选项设置为TRUE
EXEC sp_serveroption
@server = 'ORC',
@optname = 'RPC OUT',
@optvalue = 'TRUE'
-- 使用远程排序规则选项设置为TRUE
EXEC sp_serveroption
@server = 'ORC',
@optname = 'Use Remote Collation',
@optvalue = 'TRUE' -- 添加对链接服务器的登录
EXEC sp_addlinkedsrvlogin
-- 链接服务器名称
@rmtsrvname = 'ORC',
-- false 值指定 rmtuser 和 rmtpassword 参数用来连接到特定 locallogin 的 rmtsrvname
@useself = 'false',
-- 本地服务器上的登录
@locallogin = 'sa',
-- 当 useself 为 false 时,用来连接 rmtsrvname 的用户名
@rmtuser = 'xzycnc',
-- 与 rmtuser 相关的密码
@rmtpassword = 'neo'
RETURN
GO
Name : Stp_TianJiaLianJieFuWuQi
Function : 添加链接服务器并设置其服务器选项和安全性选项
Steps : 调用系统存储过程sp_addlinkedserver添加链接服务器
调用系统存储过程sp_serveroption设置链接服务器选项
调用系统存储过程sp_addlinkedsrvlogin添加对链接服务器的登录
Author : Waxdoll Cheung
Date : 2003-12-11
*/
CREATE PROCEDURE dbo.Stp_TianJiaLianJieFuWuQi
AS
-- 添加链接服务器
EXEC sp_addlinkedserver
-- 链接服务器名称
@Server = 'ORC',
-- 产品名称
@SrvProduct = 'Oracle',
-- 数据驱动提供者
@Provider = 'MSDAORA',
-- Oracle数据源
@DataSrc = 'ORC' -- 设置链接服务器选项
-- 数据访问选项设置为TRUE
EXEC sp_serveroption
@server = 'ORC',
@optname = 'Data Access',
@optvalue = 'TRUE'
-- RPC选项设置为TRUE
EXEC sp_serveroption
@server = 'ORC',
@optname = 'RPC',
@optvalue = 'TRUE'
-- RPC OUT选项设置为TRUE
EXEC sp_serveroption
@server = 'ORC',
@optname = 'RPC OUT',
@optvalue = 'TRUE'
-- 使用远程排序规则选项设置为TRUE
EXEC sp_serveroption
@server = 'ORC',
@optname = 'Use Remote Collation',
@optvalue = 'TRUE' -- 添加对链接服务器的登录
EXEC sp_addlinkedsrvlogin
-- 链接服务器名称
@rmtsrvname = 'ORC',
-- false 值指定 rmtuser 和 rmtpassword 参数用来连接到特定 locallogin 的 rmtsrvname
@useself = 'false',
-- 本地服务器上的登录
@locallogin = 'sa',
-- 当 useself 为 false 时,用来连接 rmtsrvname 的用户名
@rmtuser = 'xzycnc',
-- 与 rmtuser 相关的密码
@rmtpassword = 'neo'
RETURN
GO
SQL> CREATE OR REPLACE DIRECTORY IMAGES AS 'C:\Oracle'; --图片目录目录已创建。SQL> CREATE OR REPLACE PROCEDURE IMG_INSERT (TID VARCHAR2,FILENAME VARCHAR2) AS
F_LOB BFILE;
B_LOB BLOB;
BEGIN
INSERT INTO IMAGE_LOB (T_ID, T_IMAGE)
VALUES (TID,EMPTY_BLOB ()) RETURN T_IMAGE INTO B_LOB;
F_LOB:= BFILENAME ('IMAGES', FILENAME);
DBMS_LOB.FILEOPEN (F_LOB, DBMS_LOB.FILE_READONLY);
DBMS_LOB.LOADFROMFILE (B_LOB, F_LOB,DBMS_LOB.GETLENGTH (F_LOB));
DBMS_LOB.FILECLOSE (F_LOB);
COMMIT;
END;
/过程已创建。SQL>-- 示例SQL> EXEC IMG_INSERT('1','f_TEST.jpg');PL/SQL 过程已成功完成
有没有试过SSIS,能否导入?
insert into GscMisDocFile(TableIdOfGscMisDocFile,GscMisDocFileCo
deId,GscMisDocFileGuid,TableFieldNameOfDocFileFrom,TableNameOfDocFileFrom,TableK
eyCodeIdOfDocFileFrom,TableKeyCodeId_ValueOfDocFileFrom,FileNameOfGscMisDocFile,
BinaryDataOfGscMisDocFile,GscMisDocFileNowIsDeleted,OrganCodeIdOfInsertGscMisDoc
File,OrganNameOfInsertGscMisDocFile,UserCodeIdOfInsertGscMisDocFile,UserNameOfIn
sertGscMisDocFile,DateTimeOfInsertGscMisDocFile,OrganCodeIdOfDeleteGscMisDocFile
,OrganNameOfDeleteGscMisDocFile,UserCodeIdOfDeleteGscMisDocFile,UserNameOfDelete
GscMisDocFile,DateTimeOfDeleteGscMisDocFile,AREACODE) values('10598','2008072416
5048049700','20080724165048068257','GscAplOnceNoticeDocFileGuidOfGscUserCreate',
'GscAplOnceNotice','GscAplOnceNoticeCodeId','20080724165048042910','一次性补正通
知单(法人).doc','com.microsoft.jdbc.base.BaseInputStreamWrapper@3c8308','0','s
ichuan-ScGsc-Org-2008-1','xxx','sichuan-ScGsc-User-2008-325','xxx'
,'1900-01-01 00:00:00.0','','','','','1900-01-01 00:00:00.0',1)这个就是准备INSERT到ORACLE的语句
所有字段的内容都是从SQL SERVER里SELECT出来的
其中'com.microsoft.jdbc.base.BaseInputStreamWrapper@3c8308'就是getBinaryStream()出来的
这个怎么INSERT到ORACLE里啊?
哎
急啊