Udostępnij przez


Konwersji z biblioteki DB ODBC kopiowanie masowe

Konwersja programu kopiowanie masowe biblioteki DB ODBC jest łatwe, ponieważ większość skopiować funkcje obsługiwane przez SQL Server Macierzysty sterownik ODBC klient są podobne do funkcji kopiowania zbiorczej biblioteki DB, z następującymi wyjątkami:

  • Biblioteki DB aplikacji przekazać wskaźnik do struktury DBPROCESS jako pierwszy parametr funkcji kopiowania zbiorczej.W aplikacji ODBC wskaźnik DBPROCESS jest zastępowany przez dojście do połączenia ODBC.

  • Wywołanie aplikacji biblioteki DB BCP_SETL przed połączeniem, aby umożliwić kopiowanie masowe operacji na DBPROCESS.Zamiast tego wywołaj aplikacji ODBC SQLSetConnectAttr przed połączeniem, aby umożliwić operacje zbiorcze na uchwycie połączenia:

    SQLSetConnectAttr(hdbc, SQL_COPT_SS_BCP,
        (void *)SQL_BCP_ON, SQL_IS_INTEGER);
    
  • The SQL Server Native klient ODBC driver does not support DB-Library message and error handlers; you must call SQLGetDiagRec to get errors and messages raised by the ODBC kopiowanie masowe functions.Wersje ODBC zbiorczego kopiowania funkcje zwracają kopiowanie masowe standardowych zwraca kody SUKCESU lub niepowodzenie, ODBC-styl zwraca kody, na przykład SQL_SUCCESS lub SQL_ERROR.

  • The values specified for the DB-Library bcp_bindvarlen parameter are interpreted differently than the ODBC bcp_bindcbData parameter.

    Wskazuje stan

    Biblioteki DB varlen value

    ODBC cbData value

    Dostarczone wartości null

    0

    WARTOŚĆ -1 (SQL_NULL_DATA)

    Dane zmienne

    -1

    -10 (SQL_VARLEN_DATA)

    Zerowej długości znak lub ciąg binarny

    NA

    0

    W bibliotece DB varlen wartość -1 wskazuje, że dostarczany jest danych o zmiennej długości, która w ODBC cbData jest interpretowany oznacza dostarczenia tylko wartości NULL.Zmiana dowolnej biblioteki DB varlen specyfikacje -1 do SQL_VARLEN_DATA i wszelkie varlen specyfikacji 0, aby SQL_NULL_DATA.

  • The DB-Library bcp_colfmtfile_collen and the ODBC bcp_colfmtcbUserData have the same issue as the bcp_bindvarlen and cbData parameters noted above.Zmiana dowolnej biblioteki DB file_collen specyfikacje -1 do SQL_VARLEN_DATA i wszelkie file_collen specyfikacji 0, aby SQL_NULL_DATA.

  • The iValue parameter of the ODBC bcp_control funkcja is a void pointer.W bibliotece DB iValue jest liczbą całkowitą.Rzutować wartości dla ODBC iValue do void *.

  • The bcp_control option BCPMAXERRS specifies how many individual rows can have errors before a kopiowanie masowe operation fails.Wartość domyślna dla BCPMAXERRS wynosi 0 (nie powiodło się na pierwszym błędzie) w wersja biblioteki DB bcp_control i 10 w wersja ODBC.Aplikacje biblioteki DB, które zależą od domyślnej wartości 0, aby zakończyć kopiowanie masowe operacji musi zostać zmieniony, aby wywołać ODBC bcp_control BCPMAXERRS należy ustawić na 0.

  • ODBC bcp_control funkcja obsługuje następujące opcje nie są obsługiwane przez wersja biblioteki DB bcp_control:

    • BCPODBC

      Gdy zestaw na wartość TRUE, określa, że Data/Godzina and Smalldatetime wartości zapisanych w formacie znaku będzie miał ODBC sygnatury czasowej anulowania sekwencji prefiks i sufiks.Dotyczy to tylko BCP_OUT operacji.

      Z BCPODBC zestaw na wartość FALSE, Data/Godzina wartości konwertowane na ciąg znaków jest wyjściowe jako:

      1997-01-01 00:00:00.000
      

      Z BCPODBC zestaw na wartość TRUE, to samo Data/Godzina wartość wyjściowa jest jako:

      {ts '1997-01-01 00:00:00.000' }
      
    • BCPKEEPIDENTITY

      Gdy zestaw na wartość TRUE, określa, że funkcje kopiowanie masowe wstawić wartości danych dostarczanych w wypadku kolumn o ograniczenia tożsamości.Jeśli ta opcja nie jest ustawiona, nowe wartości tożsamości są generowane wstawionych wierszy.

    • BCPHINTS

      Określa różne optymalizacje kopiowanie masowe.Opcja ta nie może być używany w wersji 6.5 lub starszej wersji SQL Server.

    • BCPFILECP

      Określa strona kodowa kopiowanie masowe pliku.

    • BCPUNICODEFILE

      Określa, że znak trybu zbiorczej kopii pliku jest plikiem Unicode.

  • ODBC bcp_colfmt funkcja nie obsługuje typ_pliku wskaźnik SQLCHAR ponieważ powoduje on konflikt z typedef ODBC SQLCHAR.Zamiast tego użyj SQLCHARACTER dla bcp_colfmt.

  • W wersjach ODBC kopiowanie masowe funkcje, format do pracy z Data/Godzina and Smalldatetime wartości ciągów znaków jest format ODBC rrrr mm-dd hh:mm:ss.sss; Smalldatetime wartości należy użyć formatu ODBC hh:mm:ss. rrrr mm-dd

    Funkcje kopiowanie masowe, w wersji biblioteki DB akceptuje Data/Godzina and Smalldatetime wartości ciągów znaków w kilku formatach:

    • Formatem domyślnym jest mmm dd rrrr hh:mmxx where XX jest albo AM lub PM.

    • Data/Godzina and Smalldatetime ciągów znaków w dowolnym formacie obsługiwane przez biblioteki DB dbconvert funkcja.

    • Gdy Użyj ustawień międzynarodowych pole wyboru jest zaznaczone na biblioteki DB Opcje Karta SQL Server Klient Network Utility, funkcje kopiowanie masowe biblioteki DB również zaakceptować data w formacie data regionalne zdefiniowane dla regionalny rejestru komputera klienta.

    Funkcje kopiowanie masowe biblioteki DB nie akceptują ODBC Data/Godzina and Smalldatetime formaty.

    Jeśli atrybut SQL_SOPT_SS_REGIONALIZE instrukcja jest ustawiony na SQL_RE_ON ODBC kopiowanie masowe funkcji zaakceptować data w formacie data regionalne zdefiniowane dla regionalny rejestru komputera klient.

  • Gdy dane są wyprowadzane pieniądze wartości w formacie znaku, ODBC kopiowanie masowe funkcji dostarcza czterech cyfr precyzji i nie separatorów przecinka; wersji biblioteki DB tylko dostawy z dokładnością do dwóch cyfr i zawierają separatory przecinek.