我正在尝试将多个表导入Sybase IQ数据库。首先,我运行一个脚本来创建表,然后我运行另一个脚本来使用一组LOAD TABLE语句导入数据。
第一个脚本正确创建了表(在此数据库的唯一dbspace中)。当我运行导入脚本时,导入一半表后,我收到一条消息,说明dbspace已满。
所以我创建了另一个dbspace并从它停止的地方重新运行脚本。但是我仍然收到错误,说第一个dbspace已满。为什么Sybase IQ不使用我创建的第二个dbspace?我看到这些表与第一个dbspace有关,但是不应该根据需要将表扩展到另一个dbspace吗?
答案 0 :(得分:0)
您必须告诉数据库服务器您要将某些表放入第二个dbspace。你可以通过添加" IN" create table语句的子句。
例如,CREATE TABLE x (<cols>)
将表放入SYSTEM dbspace,因为您没有指定一个。但是CREATE TABLE x (<cols>) IN mydbspace
将它放入名为&#34; mydbspace&#34;的数据库空间中。
create table语句中的文档为here。请注意,这些是SQL Anywhere文档,但由于SQL Anywhere是IQ的执行引擎,因此它们仍然适用。
披露:我在SQL Anywhere工程中为SAP工作。