我主要来自mysql \ apache背景,但我们与其他一些姐妹公司有一个小组项目,并将我们所有的数据库转换为一个报告服务器。
sales \ staff使用的主要系统是基于Progress OpenEdge构建的,我正在尝试将这些DBS \ Tables的导出文件创建为输出文件,这些文件可以使用SQL Server提供的软件提供给sql server。
OpenEdge \ Progress方面的人大部分时间都是AFK(并且非常保护它,即我无法在系统周围徘徊)并且从我看到的东西使用称为SQLExplorer(JDBC)的东西来翻译任何SQL这个数据库。
此过程将使用非常基本的SQL语句
愉快地输出文本文件SELECT * FROM QUERY.PUB.case_process
但它没有分隔符,因此无法输入sql server
我提供了以下内容,它在SSMS上执行正常并具有分隔符等。
EXECUTE master.dbo.xp_cmdshell 'BCP "SELECT * FROM QUERY.PUB.case_process" queryout c:\case_process_cmdshell_test.txt -t"|" -c -T '
但是在针对OpenEdge
尝试时它会抛出错误SQLState=HY000
ErrorCode=-210056
[DataDirect][OpenEdge JDBC Driver][OpenEdge] Syntax error in SQL statement at or about "EXECUTE master.dbo.xp_cmdshell 'BCP "SEL" (10713)
我试图确保没有SQL-92保留字和其他一些小东西
我实际上处于亏损状态,因为我在本地使用的MySQL数据库,我正在向这个SQL服务器发送数据,只是涉及ODBC \ SSMA并且像梦一样,但我被告知没有相应的OpenEdge \进展