当前位置: 首页 > 知识库问答 >
问题:

使用tns在另一个数据库中插入

周朗
2023-03-14

我的pl/sql代码有问题。问题是:当我使用tns(用于远程数据库连接)尝试正常插入时,一切都正常

     insert into cell@DB2 (code) values(2);

ORA-06512:a ligne 36 02069。00000-“此操作的全局_名称参数必须设置为TRUE”*原因:需要语句的远程映射,但无法实现,因为要实现它,全局_名称应设置为TRUE*操作:如果可能,发出alter session set global_名称=TRUE

问题是,当我将全局_名称设置为true时,会出现此错误

因此,要么我不能使用tns并将全局_名称设置为true,要么将全局_名称设置为false,我不能使用循环插入

谢谢你的帮忙

共有1个答案

夏骞尧
2023-03-14

你用的是真的密码吗?

在我看来,我是这样做的:我经常需要从不同的数据库收集数据,并使用数据库链接将值插入目标数据库。要插入的一个值是通过打包函数获取的,因此-如果我尝试这样做:

begin
  insert into table@dblink (dp) values (pkg_ob.f_dp);
end;

我得到了和你一样的错误。因此,我声明一个局部变量,将函数值放入其中,并插入一个局部变量:

declare
  l_dp number := pkg_ob.f_dp;
begin
  insert into table@dblink (dp) values (l_dp),
end;

或者,另一种选择:如果上述操作无法完成(因为函数值不是“静态”的,而是取决于每一行),我将创建一个本地表,在其中插入值,然后在完成所有操作后,通过数据库链接将本地表的值“复制”到该表中:

创建表my_表(dp编号,此处的其他_列);

begin
  insert into my_table (dp, other_columns_here) 
    select pkg_ob.dp(some_id), other_columns_here
    from ...;

  insert into my_table@dblink select * from my_table;
end;
 类似资料:
  • 问题内容: 我需要将数据从一个数据库迁移到另一个数据库,两者都在同一本地系统上。 表和列的名称不同,我不能从旧数据库迁移所有列,因此 对我不起作用。 但我只有一个 我的查询中有什么错误,我该如何解决? 提前致谢 问题答案: 您的查询应如下所示: 更新 由于这个答案的关注程度超出了我的预期,因此我应该扩展这个答案。首先,从答案本身看可能并不明显,但各列不必具有相同的名称。因此,以下操作也将起作用(假

  • 我有两个SQL Server数据库A和B 它们都包含一个名为的表,其中包含、、 我想编写一个脚本,将从数据库a插入数据库B(如果基于他们还不存在) 所以基本上我需要SQL脚本中的这个: 非常感谢你的帮助

  • 问题内容: 如何从一个数据库复制到另一个数据库。 数据库名称visco 我想将所有表从visco数据库复制到新数据库名称作为neptune 我创建了一个没有任何表的数据库,然后尝试从database1.bak文件还原数据库,然后显示错误为 需要查询帮助 问题答案: 使用SQL Server Management Studio: 选项1 ->右键单击要复制的数据库 ->选择“任务”>“生成脚本” -

  • 问题内容: 我想从一个表中读取所有数据,然后将一些数据插入到另一个表中。我的查询是 但我有一个错误 请帮我。 问题答案: 您可以使用INSERT … SELECT语法。请注意,您可以在SELECT部分​​中直接引用“ 1”。

  • 问题内容: 我在阅读Hibernate HQL教程时发现HQL不支持,但是HQL仅支持从另一个表插入。 假设我要在一个表中插入相同的值,并且该数据不是来自任何其他表,即该值不在任何其他表中,那么我该如何在HQL中执行此操作? 另外,是否想知道HQL中此类限制的背后原因? 问题答案: 如果数据来自另一个表,则无需使用hql进行插入。 只需获取对您实体的引用,保留一个Hibernate会话,然后调用s

  • 我们正在改变数据库,从一个支持8位int的数据库到一个不支持8位int的数据库。当Liquibase创建一个DB导致jOOQ生成“短”变量时,我们的代码会中断,但我们的代码使用字节/字节-这会中断代码签名。 有人建议我们继续使用以前的数据库(HSQLDB)来生成代码,而不是重新编码,它“应该”与新数据库一起运行。有不同的意见,除了直觉,我找不到任何决定性的东西,这似乎与jOOQ的设计目的背道而驰。