そのエラーメッセージを含む誤った説明(例)

そのエラーメッセージを含む誤った説明(例)

使用すべきパクフコマンドラインからデータをエクスポートするためのツールSQLサーバーRed Hat サーバー上のファイルのデータベースです。私は(明らかに)有効なステートメントを使用していますが、パクフいかなる種類の出力/結果も生成しません。ただし、欠落または無効なパラメーターを含むステートメントを実行すると、そのエラーが表示されます。この問題の原因(たとえば、インストールの欠陥、不適切な使用など)を探しています。パクフ、権限不足、または他の既知の競合)と回避策を学びます。


bcp ステートメント:

bcp fully_qualified_table_name out ./data.txt -c -S server -U user -P password

bcp 使用法:

usage: /opt/microsoft/bin/bcp {dbtable | query} {in | out | queryout | format} datafile
  [-m maxerrors]            [-f formatfile]          [-e errfile]
  [-F firstrow]             [-L lastrow]             [-b batchsize]
  [-n native type]          [-c character type]      [-w wide character type]
  [-N keep non-text native] [-q quoted identifier]
  [-t field terminator]     [-r row terminator]
  [-a packetsize]           [-K application intent]
  [-S server name or DSN if -D provided]             [-D treat -S as DSN]
  [-U username]             [-P password]
  [-T trusted connection]   [-v version]             [-R regional enable]
  [-k keep null values]     [-E keep identity values]
  [-h "load hints"]         [-d database name]

bcp バージョン:

BCP - Bulk Copy Program for Microsoft SQL Server.
Copyright (C) Microsoft Corporation. All Rights Reserved.
Version: 11.0.2270.0

SQL Server バージョン( SELECT @@VERSION):

Microsoft SQL Server 2012 - 11.0.5058.0 (X64)
   May 14 2014 18:34:29
   Copyright (c) Microsoft Corporation
   Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)

分配する:

Red Hat Enterprise Linux 6.7 (KornShell).

そのエラーメッセージを含む誤った説明(例)

bcp THAT_TUB_ACE.oh_nerd.table_name out ./data.txt -c -S sr._bear -U you_sr. -P pass_sword

    SQLState = S1T00, NativeError = 0
    Error = [unixODBC][Microsoft][ODBC Driver 11 for SQL Server]Login timeout expired
    SQLState = 08001, NativeError = 11001
    Error = [unixODBC][Microsoft][ODBC Driver 11 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.
    SQLState = 08001, NativeError = 11001
    Error = [unixODBC][Microsoft][ODBC Driver 11 for SQL Server]TCP Provider: Error code 0x2AF9

...

bcp fully_qualified_table_name ./data.txt -c -S valid_server -U valid_user -P bad_word

    bcp fully_qualified_table_name out ./data.txt -c -S valid_server -U valid_user -P bad_word
    SQLState = 28000, NativeError = 18456
    Error = [unixODBC][Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'valid_user'.

一般化。

目的は、次の構文(または類似の構文)を使用してデータファイルを生成することです。

bcp fully_qualified_table_name out ./data.txt -c -S server -U user -P password

事実は次のとおりです

  • 実行時に有効パクフ宣言ウィンドウには何もなく(出力なし)、データファイルも生成されません。
  • オプションは使用できません-T(統合セキュリティで信頼できる接続を使用)。パクフだから指定する必要があります。サーバー、ユーザー、パスワード
  • 非常に単純な小さなテーブルでオプションを試しましたが、queryoutまだ運がありません。
  • 資格情報は有効で、sqlcmd次のコマンドを使用して正常にテストしましたsqlcmd -S server -U user -P password -Q 'SELECT * FROM really_small_table'
  • これパクフ以下の声明「該当するエラーメッセージを含む誤った説明(はい)」この質問の一部は間違った文の例にすぎません。パクフ実際に何かを行いますが、期待した結果を提供します。

ベストアンサー1

Microsoft ODBC のインストールプロセスが組み込んだ Debian プラットフォームを発見しましたlibodbc.so/usr/lib64これはライブラリの予想位置ではないため、見つかりませbcpん。しかし、必要なライブラリが見つからないというメッセージを表示するのではなく、ただ終了します。

Debian ソリューション。あなたの状況も似ています。

  1. インストーラがある場所を見つけますlibodbc.so

    find / -type f -name libodbc.so
    
  2. そのディレクトリを新しいファイルに追加します/etc/ld.so.conf.d/odbc.conf。私はこの名前を作り、私のシステムには/etc/ld.so.conf.d以下が含まれます/etc/ld.so.conf

    # Required but not documented by MS ODBC installation for SQL Server
    /usr/lib64
    
  3. ldconfigライブラリの場所のリストを更新するには実行してください。

  4. 再試行bcpコマンド

ステップ2と3を実行するには、rootユーザーである必要があります。 SQL Serverライブラリを正常にインストールした場合、これは大きな問題ではないと思います。

おすすめ記事