私は動作する必要のある複数のデータベース設定を持っており、どちらも同じ方法で動作しない独自のbcpバージョンを持っています。 Plusは両方とも%PATH%にあり、Sybase SQLはMS SQLのexeの前にリストされているので、コマンドラインから "bcp"を呼び出すと、常にSybase exeにヒットします。Sybase BCPとMS SQL BCPの比較
まず、バージョンは "異なる" です:
SybaseのBCP: SybaseのCTBCPユーティリティ/ 15.0/P-EBF17890 ESD#24/PCインテル/ BUILD1500-123/OPT /木曜5月13日02: 45:43 2010 (Adaptive Server Enterpriseの/ 15.7/EBF用23008 SMP SP130/P/RS6000/AIX 6.1/ase157sp13x/64分の3819ビット/ FBO /土8月23日午前2時49分06秒2014)
MS SQL BCP: バージョン:11.0.2100.60 (SQL 2008 R2および2012 SP3 dbsを照会するクエリ)
彼らは間違いなくファイルへの出力を同じ方法で処理し、各ショーのドキュメントを処理しません。私がbcpで読んだものは、bcpはSybaseとMS SQLの間で同じように動作するはずですが、Sybase bcpは同じ方法でクエリアウトをサポートしていないため、MS SQLへのqueryout呼び出しのために完全なMS SQL bcp.exeパスを呼び出さなければなりません。
私のプロセスでは、Sybase DBとMS SQLデータベースにヒットした複数のクエリを呼び出してステージングDBにデータを出力するため、SybaseとMS SQL bcpを区別する必要がありますか、 1つは問題なし?もしそうなら、どちらが「正しい」ものなのですか(ここでは議論を呼び起こそうとはしません)。また、バージョン番号が "最新の"ものであることを知っていることと関係があることは何も分かりません。
あなたはいつも区別する必要はありません。彼らが今完全に働いていても、将来のアップグレードで変更される可能性があり、それを許可する必要があります。 –