S.G*_*.G. 1 sql-server bcp sap-ase
我有一个需要使用的多数据库设置,并且两者都有自己的 bcp 版本,它们的行为方式不同。此外,两者都在我的 %PATH% 中,并且 Sybase 一个列在 MS SQL exe 之前,因此从命令行调用“bcp”总是会命中 Sybase exe。
首先,版本是“不同的”:
Sybase BCP: Sybase CTBCP Utility/15.0/P-EBF17890 ESD #24/PC Intel/BUILD1500-123/OPT/Thu May 13 02:45:43 2010(适用于 Adaptive Server Enterprise/15.7/EBF 23008 SMPRS SP1600P /AIX 6.1/ase157sp13x/3819/64-bit/FBO/Sat Aug 23 02:49:06 2014)
MS SQL BCP: 版本:11.0.2100.60(查询命中 SQL 2008 R2 和 2012 SP3 dbs)
他们绝对不会以相同的方式处理文件的输出,并且每个文件的文档都显示了这一点。我在 bcp 上读到的所有内容都说 bcp 在 Sybase 和 MS SQL 之间的工作方式应该相同,但我必须调用完整的 MS SQL bcp.exe 路径来调用 MS SQL 的查询输出,因为 Sybase bcp 不以相同的方式支持查询输出。
我的过程使用批处理脚本调用多个查询,这些查询命中 Sybase DBS,然后 MS SQL 数据库将数据输出到暂存数据库,我是否总是必须区分 Sybase 和 MS SQL bcp,还是我可以只使用一个而没有问题?如果是这样,哪个是“正确”的使用(不是试图在这里引发关于哪个更好的辩论)。此外,我没有看到任何表明版本号有任何关系的东西,所以知道哪个是“最新的”并且使用那个是很困难的。
小智 5
请记住,MS SQL Server 在 1994 年与 Sybase ASE 相同(称为 Sybase SQL Server),但在那之后,它们慢慢开始分离。所以BCP的概念还是有的,类似,只是细节不同。一方面,不要期望能够为这些数据库交换客户端工具:Microsoft 对 TDS 协议进行了更改,这使得客户端无法连接到其他供应商的数据库。
如果您在两个同名的可执行文件之间发生冲突,常见的解决方案包括 (i) 明确指定可执行文件的路径名 (ii) 在调用一个或另一个可执行文件之前设置正确的环境变量 (iii) 重命名其中一个可执行文件. 天啊。
| 归档时间: |
|
| 查看次数: |
1428 次 |
| 最近记录: |