Plaisir avec BULK INSERT SQL SERVER - incompatibilité de type ou de caractère non valide pour la page de codes spécifiée
je suis en insérant les données qui ressemble à ceci:
AA00000111 PSNH-OT J, SMITH 03/01/2011 10/11/1957 42 Male Hartford NH Lorazepam Benzodiazepines C
AA00000151 PSNH-OT BEN, HARRY 03/06/2011 07/18/1969 42 Male Hartford NH Fentanyl Synthetic Opioids C
AA00000151 PSNH-OT URA, HARRISON 03/06/2011 07/18/1969 29 Male Hartford NH Norfentanyl Synthetic Opioids C
AA00000181 PSNH-OT WAYNE, GRIFFON 03/06/2011 09/01/1982 75 Female Hartford NH cTHC (Marijuana metabolite) Illicits C
avec cette bulk insert:
use RadarDataMining
go
BULK INSERT tblRadarsAC
FROM 'C:\PerfLogs\radars.txt'
WITH
(
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n'
)
et j'obtiens ces erreurs:
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 2, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 3, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 4, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 5, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 6, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 7, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 8, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 9, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 10, column 4 (date_tested).
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 11, column 4 (date_tested).
Msg 4865, Level 16, State 1, Line 2
Cannot bulk load because the maximum number of errors (10) was exceeded.
Msg 7399, Level 16, State 1, Line 2
The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.
Msg 7330, Level 16, State 2, Line 2
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".
le quatrième type de champ est date
il n'aime pas mon champ de date pour une raison quelconque. je ne comprends pas pourquoi. ce que je fais mal?
Ce type de données est le quatrième champ?
c'est la DATE !
que pensez-vous est le problème?
Cela ressemble à des données sur les patients, être très prudent sur l'affichage de tel sur un site web public, si vous n'avez pas dissimuler les données que vous en voiolation de la loi aux états-unis. Je déguisée les noms, juste au cas où.
c'est la DATE !
que pensez-vous est le problème?
Cela ressemble à des données sur les patients, être très prudent sur l'affichage de tel sur un site web public, si vous n'avez pas dissimuler les données que vous en voiolation de la loi aux états-unis. Je déguisée les noms, juste au cas où.
OriginalL'auteur l--''''''---------'''''''''''' | 2011-09-20
Vous devez vous connecter pour publier un commentaire.
Créer une table intermédiaire pour jouer avec l'endroit où le champ date est spécifiée comme un varchar et pas un jour et voir si vous pouvez bulk insert. Il est possible que vous avez une sorte de caractère non imprimable dans le domaine et donc il n'est pas une date pour l'essentiel de l'insertion.
Une fois c'est une table. faire une sélection comme ceci
Sélectionnez 'XX'+field4+'XX'
Si vous voyez un espace entre le Xs et la date, vous avez un caractère non imprimable.
Si vous voulez savoir ce que le personnage est vous pouvez utiliser le code ASCII () fonction.
Si il a une zone non imprimable charactor vous ne pouvez pas le voir. C'est pourquoi j'ai suggéré de la mettre en varchar où vous pouvez voir si les données convertit correctement ou de faire des requêtes pour trouver le caractère non imprimable.
je vous remercie. comment pourrais-je trouver des caractères non imprimables à l'aide de sql?
est-il possible qu'il n'aime pas l'onglet delimitted fichier?
Votre domaine terminator est un onglet de sorte que devrait être bon, mais il est possible qu'il y est plus d'un onglet entre les champs avant de les données, de sorte que la date semble avoir de mauvaises données.
OriginalL'auteur HLGEM