Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Problèmes de création de table RODBC sqlSave

Après des heures de travail sur ce sujet, j'ai finalement pu faire fonctionner sqlSave tout en spécifiant le nom de la table - respiration profonde, par où commencer. Voici la liste des choses que j'ai faites pour que cela fonctionne :

  • Ouvrez l'administrateur ODBC 32 bits, créez un DSN utilisateur et configurez-le pour votre base de données spécifique. Dans mon cas, je crée une table temporaire globale, donc j'ai lié à tempdb. Utilisez ce nom de connexion dans votre odbcConnection(Name) . Voici mon code myconn2 <- odbcConnect("SYSTEMDB") .
  • Ensuite, j'ai défini mes types de données avec le code suivant :columnTypes <- list(Record = "VARCHAR(10)", Case_Number = "VARCHAR(15)", Claim_Type = "VARCHAR(15)", Block_Date = "datetime", Claim_Processed_Date = "datetime", Status ="VARCHAR(100)") .
  • J'ai ensuite mis à jour mes types de classe de trame de données en utilisant as.character et as.Date pour correspondre aux types de données répertoriés ci-dessus.
  • J'ai déjà créé la table car j'y travaille depuis des heures, j'ai donc dû supprimer la table en utilisant sqlDrop(myconn2, "##R_Claims_Data") .
  • J'ai ensuite exécuté :sqlSave(myconn2, MainClmDF2, tablename = "##R_Claims_Data", verbose=TRUE, rownames= FALSE, varTypes=columnTypes)

Puis ma tête est tombée parce que ça a marché ! J'espère vraiment que cela aidera quelqu'un à aller de l'avant. Voici les liens qui m'ont aidé à en arriver là :

Table introuvable

sqlEnregistrer en R

RODBC