我在SQL Server中有一个具有XML列类型的表。在XML列中,我存储了一个XML文档。我想使用Toad for Oracle在Oracle中创建相同的表,但在Toad for Oracle中没有XML列类型。这样做的原因是要将数据从SQL Server传输到Oracle,以便进一步处理和报告。我需要在Oracle中创建什么类型的列才能插入XML文档?
我已使用Oracle Gateway for SQL Server在Oracle 11gR2中创建了到SQL Server 2012数据库的数据库链接。连接工作正常,我能够从SQL Server运行查询和存储过程。
当我尝试从SQL Server检索XML列时,出现了这个问题。清楚地指出,如果数据库使用UTF字符集(AL32UTF8),则支持XML,但使用LONG数据类型格式。
我可以通过以下方式查询XML列
SET LONG 5000;
select "XMLColumn" FROM "xmltable"@sqlserver;
但是,在尝试将其插入到具有Lon
在MS SQL 2005或T-SQL中,您可以执行以下操作:
SELECT T.NAME, T.DATE
FROM (SELECT * FROM MyTable WHERE ....) AS T
我在Oracle9iDB上尝试类似的SQL失败。在MS SQL中,嵌套的SQL被视为动态创建的临时/动态视图,然后销毁。我如何在Oracle中做类似的事情?我真的不想创建一个视图来做这件事。
我们正尝试通过Oracle 11gR2网关连接到Sql Server 2005,当我们查询从Sql Server获取数据的视图时,我们收到以下错误:
Error: ORA-28500:[Oracle][ODBC SQL Server Driver]String data, right truncation
我注释掉了在Oracle上运行的查询中的一些列,它起作用了。注释列的数据类型为VARHCAR(30),但还有其他字段也是VARCHAR(30)。
是否有解决此错误的方法,如果我添加了这3列,导致整个查询失败,一切都将正常。我尝试在Sql Server 2005上运行的视图中重命名这些字段,
我目前正在从Oracle数据库的视图中获取一组记录,并尝试使用BizTalk根据列将它们插入/更新到SQL Server表中的表中。
为此,我创建了一个存储过程:
Create PROCEDURE [dbo].[uspInsertorUpdateDepartment]
@dept_name varchar(64),
@jax_dept_id char(32)
AS
BEGIN
SET NOCOUNT ON;
IF (SELECT TOP (1) 1 FROM afm.[jax_dept]
WHERE jax_dept_id = @ja
我遇到了一种情况,我需要执行一些代码,因为许多原因(我不会在这里讨论),在Java中比在PL/SQL中做得更好。在我看来,有两种选择:
使用我编译的所有代码和其他支持文件/其他jar创建jar,将jar加载到Oracle (我们正在运行10g),并从存储过程执行Java。
- Pros: The Java code integrates very nicely with the rest of the system, can be called from existing PL/SQL.
- Cons: I have very little experience with running Ja