嗨,我有这个例子:
DECLARE INTENT massiveinsert
CREATE CLASS POST EXTENDS V
CREATE CLASS COMMENT EXTENDS V
INSERT INTO POST (id, title) VALUES ( 10, 'NoSQL movement' );
INSERT INTO POST (id, title) VALUES ( 20, 'New OrientDB' );
INSERT INTO COMMENT (id, postId, text) VALUES ( 0, 10, 'First' );
INSERT INTO COMMENT (id, postId, text) VALUES ( 1, 10, 'Second' );
INSERT INTO COMMENT (id, postId, text) VALUES ( 21, 10, 'Another' );
INSERT INTO COMMENT (id, postId, text) VALUES ( 41, 20, 'First again' );
INSERT INTO COMMENT (id, postId, text) VALUES ( 82, 20, 'Second Again' );
CREATE edge hascomment FROM (select FROM POST) TO (select FROM COMMENT) where comment.postId=post.id
CREATE LINK comments TYPE linkset FROM comment.postId To post.id INVERSE
UPDATE comment REMOVE postId
但是,是的,这是 7 个测试条目。我想要更多,所以我生成了一些并将其存储在文件中。所以现在我想执行该文件:
IMPORT DATABASE POST.sql -merge=true
但这只是给了我:
orientdb {Test2}> import database POST.sql -merge=true
Importing database POST.sql -merge=true... Started import of database
'remote:127.0.0.1/Test2' from POST.sql... Rebuild of stale indexes...
Start rebuild index ouser.name Rebuild of index ouser.name is
completed. Start rebuild index orole.name Rebuild of index orole.name
is completed. Stale indexes were rebuilt... Deleting RID Mapping
table...OK
10.000 个条目均未创建 =(
所以我的问题是如何执行外部 sql 文件?为什么导入不起作用。导入是否意味着 OrientDB 文件导出?顺便说一句,该文件中只是“插入..”,如果将其中的一行复制粘贴到控制台中,它就可以工作。
在 Linux 上,它可以使用“$ console.sh database.sql”(请参阅 https://github.com/orientechnologies/orientdb/wiki/Import-RDBMS-to-Document-Model ),但如何在 Windows 上执行此操作?
感谢您的帮助。
编辑:
好吧,我现在看到它只能导出正在导入的 OrientDB。噢,这真是毫无意义=/
最佳答案
Windows 中的解决方案是:
- 转到 bin 文件夹
- 在此处打开控制台
在这里也放一个 test.sql,例如:
连接远程:127.0.0.1/测试根root
创建类(class)帖子扩展 V
创建类评论扩展 V
插入 POST (name_id, text) 值 (83, 'tellus semper interdum mauris ullamcorper purus sat amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at diam nam');
现在在控制台中写入:console.bat test.sql
就是这样。我第一次尝试时有些失败...
关于mysql - 使用OrientDB在Windows系统上执行.sql文件导入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25249109/