使用SQL Anywhere 16将多个.db文件导入sybase并合并表

时间:2016-05-16 23:25:12

标签: sql database sybase multiple-databases sqlanywhere

我是sybase / SQL编程的新手,但我不得不使用可通过Sybase Central(64位)访问的.db文件来处理160个数据库。每个数据库都有几个与不同化学品相关的表格(160种不同的化学品,因此有160个数所有数据库中的表都具有相同的字段(只有数据库名称不同)。无论如何,我能够使用SQL Anywhere 16将单个.db文件导入到sybase,并在单个数据库中执行关系数据库填充(合并和我知道如何访问的内容)。但是,我正在寻找一种方法来合并所有数据库中的所有类似的表,并在我单独导入所有数据库时遇到问题:

SELECT * FROM Database1.Table1 UNION ALL SELECT * FROM Database2.Table1 UNION ALL ......(来自其他数据库的表格)。

在执行上述操作时,我只获得了Database1.Table1的重复行(当我进行一次联合时 - 我得到了Database1.Table1的重复项,两次联合 - 对于Database1.Table1重复三次,依此类推)

所以我想知道是否有人会指导我

  1. 找到一种方法将所有160个.db文件(从160个数据库中)从我的计算机目录导入到Sybase中心(一次全部导入,无需导入160次)和

  2. 联合所有类似的表格,例如,如果我有化学名称和分子量的单独表格,我希望能够将所有这些表格合并在一个主化学名称和分子量表中。

  3. 就像我说的那样,我只是学习这门语言,因为我现在需要它用于我的研究,并会感激任何意见或建议。

    非常感谢!

1 个答案:

答案 0 :(得分:0)

我不认为您可以使用SQL Anywhere在一个查询中连接到多个DB。您的查询只是访问活动数据库连接的表。

来自SAP: *

  

SQL Anywhere个人数据库服务器和网络   数据库服务器可以同时管理多个数据每   从应用程序连接必须是一个数据库,但一个   应用程序可以使用单独的连接到不同的数据库,或a   应用程序集可以在不同的数据库上工作,全部通过   相同的数据库服务器。

* http://dcx.sap.com/sa160/en/saintro/multidb-application-architecture.html

但是!你应该能够迭代地编写一个脚本'输出到'[追加]一个文本文件,然后从该DBF中选择所有内容

--Cycle Connections
SELECT *
FROM Table;
OUTPUT TO 'Employees.txt' 
APPEND;
-- Next
input into my_Master_DB from my_DBF

http://dcx.sybase.com/1201/en/dbusage/load-s-4696303.html