BCP 错误疑难解答

本帮助文档全面概述了OpManager中遇到的常见BCP错误,以及解决这些错误的详细故障排除方法。

错误 1

bcp.exe 或 bcp.rll 文件在 OpManager_Home/bin 文件夹中找不到

解决方法

  1. 从 MSSQL 安装位置的 binn/ 文件夹中复制 bcp.exe 和 bcp.rll 文件,并将其粘贴到 OpManager_Home/bin/ 文件夹中。
  2. 如果有多个bcp.exe文件,请保留适合MSSQL的版本,并删除旧版本。
    (提示:打开命令提示符并执行 OpManager_Home/bin/ 文件夹中的“bcp.exe -v”命令以获取 bcp.exe 的版本。

错误 2

BCP 登录失败

解决方法

    1. 确保MSSQL服务器密码不包含特殊字符,如“;”。
    2. 通过在OpManager_Home/bin/文件夹中执行DBConfiguration.bat,在OpManager中更新正确的MSSQL用户名和密码。

 

DBConfiguration.bat步骤:

      1. 停止OpManager服务。
      2. 打开命令提示符并执行 OpManager_Home/bin/ 文件夹中的DBConfiguration.bat。
      3. 输入正确的身份验证用户名和密码。



    1. 如果您希望使用相同的数据库进行数据存储。在“数据库名称”字段中输入要使用的相同数据库名称,然后单击“确定”。将打开一个提示,提示您是否要使用相同的数据库,请按“确定”。



      (或)

      如果要创建用于数据存储的新数据库。输入要创建的新数据库名称,然后按“确定”。
    2. DBConfiguration完成后,启动OpManager服务。

错误 3

BCP 和 MSSQL 服务器版本不匹配

解决方法

  1. 从MSSQL安装位置的binn/文件夹中复制与MSSQL版本相同的bcp.exe和bcp.rll文件,并将其粘贴到OpManager_Home/bin/文件夹中。
    (提示:打开命令提示符并执行 OpManager_Home/bin/ 文件夹中的“bcp.exe -v”命令以获取 bcp.exe 的版本。您可以检查执行查询的MSSQL版本“SELECT SERVERPROPERTY('productversion') as 'Version'”,或者转到SQL Server Management Studio并右键单击实例名称并选择“属性”)
  2. 如果安装了Microsoft Native客户端,请检查Microsoft Native客户端的版本是否与MSSQL版本匹配。

错误 4

BCP 登录超时

解决方法

  1. 在对象资源管理器中,右键单击服务器,然后选择“属性”。
  2. 单击“连接”节点。
  3. 在“远程服务器连接”下的“远程查询超时”框中,键入或选择一个介于 0 到 2,147,483,647 之间的值(以秒为单位),以设置 SQL Server 在超时之前等待的最长时间。

错误 5

bcp 的兼容性和其他常见故障排除选项:

解决方法

    1. 当MSSQL服务器托管在本地系统中时,将MSSQL服务器名称更改为系统名称。
    2. 当用户 (Windows/MSSQL) 没有执行 bcp 文件的权限时,请确保 ODBC 连接使用 SQL Server 身份验证。如果仅使用 Windows 身份验证而不使用 SQL Server 身份验证[1],则 BCP 将不会启动。
    3. 检查 ODBCBCP.dll 文件和 SQLSRV32.dll 文件。这些文件必须是相同的版本。如果它们的版本不同,请重命名SQLSRV32.dll文件,然后重新安装 MDAC(ODBC)。ODBCBCP.dll 和 SQLSRV32.dll 文件位于 WINNT\System32 文件夹中。这些文件的版本号必须相同[1]。
    4. 如果远程服务器中安装了MSSQL服务器,而本地系统中未安装本机客户端,则在本地系统中安装适合MSSQL服务器的本机客户端。

 

安装本机客户端:

从下面的链接下载 SQL Native Client。您需要向下滚动本机客户端下载的页面:

https://www.microsoft.com/en-us/download/details.aspx?id=50402

Microsoft SQL Server 2008 R2 Native Client (SQL Server Native Client) 是包含 SQL OLE DB 提供程序和 SQL ODBC 驱动程序的单个动态链接库 (DLL)。它包含对使用本机代码 API(ODBC、OLE DB 和 ADO)连接到 Microsoft SQL Server 2000、2005 或 2008 的应用程序的运行时支持。SQL Server Native Client 应用于创建新应用程序或增强需要利用新 SQL Server 2008 R2 功能的现有应用程序。此 SQL Server Native Client 的可再发行组件安装程序安装运行时所需的客户端组件,以利用 SQL Server 2008 R2 的新功能,并选择性地安装开发使用 SQL Server Native Client API 的应用程序所需的头文件。

X86 软件包 (sqlncli.msi) X64 软件包 (sqlncli.msi) ia64 软件包 (sqlncli.msi)

有关安装本机客户端的更多详细信息,请参阅以下站点:http://msdn.microsoft.com/en-us/library/ms131321.aspx

  1. 如果在 OpManager_Home/bin/ 文件夹中执行bcp.exe时出现错误消息“msvcr120.dll ,msodbcsql13.dll 个文件丢失”,则可能是由于两个原因。
    1. 缺少用于 Visual Studio 的 Visual C++ 可再发行组件包:在这种情况下,请从此处安装用于 Visual Studio 的 Visual C++ 可再发行组件包。
    2. 缺少适用于 SQL Server 的 Microsoft® ODBC 驱动程序:在这种情况下,®请从此处安装适用于 SQL® Server® 的 Microsoft ODBC 驱动程序。
  2. 如果 bcp 问题仍然存在,
    1. 打开命令提示符并执行 OpManager_Home/bin/ 文件夹中的bcp.exe并截取输出的屏幕截图。
    2. 请与 opmanager-support@mangeengine.com 联系,并提供截取的屏幕截图以解决此问题。

错误 6

MSSQL服务器事务日志已满

解决方法

  1. 连接到MSSQL数据库,然后右键单击数据库名称。
  2. 单击属性,然后在选项下选择“恢复模式”为“简单”。
  3. 右键单击数据库名称,然后选择“任务”>缩小>文件”,然后单击“确定”进行压缩。

参考资料:
[1] https://support.microsoft.com/en-in/help/869315/error-message-when-you-perform-a-bulk-copy-process-bcp-in-microsoft-dy

Back to Top