Migrar datos, . Comillas simples en datos, como evitar errores al migrar datos con comillas simples y otros

02/11/2006 - 16:35 por Wabi | Informe spam
Tengo la version de escritorio de sql server y estoy migrando datos de una
base de datos en access a sql server.
Estoy haciendolo con un pequeño programa y me encuentro que la sentencia sql
me da error al encontrar una comilla siemple en los datos (ej: un apellido
como D'ALESANDRO).
Como puedo solucionar este problema. Disculpen la pregunta que supongo sera
elemental para muchos pero estoy aprendiendo.
Gracias.
Algo mas ¿No es posible definir un campo como autonumerico en la version sql
server de escritorio, pense que era el tipo de datos uniqueidentifier pero
no...?
¿Tampoco cuenta con herramientas para importar datos esta version de
escritorio?
¿De que manera me aconsejan que migre los datos?
Es una tabla bastante grande (90.000 registros)...
para migrar los datos genero un datareader para la tabla de access y luego
lo leo y ejecuto una instruccion insert para cada registros en la tabla de
sql, pero me parece que no debe ser la manera mas eficiente.
Bueno, gracias por la ayuda.
 

Leer las respuestas

#1 Alejandro Mesa
02/11/2006 - 16:57 | Informe spam
Wabi,

Como puedo solucionar este problema. Disculpen la pregunta que supongo sera
elemental para muchos pero estoy aprendiendo.



Debes duplicar cada apostrofe.

insert into dbo.t1(c1) values('D''ALESANDRO')

Algo mas ¿No es posible definir un campo como autonumerico en la version sql
server de escritorio, pense que era el tipo de datos uniqueidentifier pero
no...?



Puedes usar una columna tinyint, smallint, int, bigint, numeric y prender la
propiedad IDENTITY

create table dbo.t1 (
c1 int not null identity(1, 1)
...
)

¿Tampoco cuenta con herramientas para importar datos esta version de
escritorio?
¿De que manera me aconsejan que migre los datos?
Es una tabla bastante grande (90.000 registros)...



Yo no he trabajado mucho con esa version, me pregunto si al instalar esta,
tambien se instala el utilitario BCP.EXE

De todas maneras no son muchas filas, asi que tu aplicacion .net no debe
demorar mucho. Te recominedo leas sobre uso de la clase SqlBulkCopy si es que
estas usando ADO.NET 2.0

Performing Bulk Copy Operations
http://msdn2.microsoft.com/en-US/li...5da1a.aspx


AMB


"Wabi" wrote:

Tengo la version de escritorio de sql server y estoy migrando datos de una
base de datos en access a sql server.
Estoy haciendolo con un pequeño programa y me encuentro que la sentencia sql
me da error al encontrar una comilla siemple en los datos (ej: un apellido
como D'ALESANDRO).
Como puedo solucionar este problema. Disculpen la pregunta que supongo sera
elemental para muchos pero estoy aprendiendo.
Gracias.
Algo mas ¿No es posible definir un campo como autonumerico en la version sql
server de escritorio, pense que era el tipo de datos uniqueidentifier pero
no...?
¿Tampoco cuenta con herramientas para importar datos esta version de
escritorio?
¿De que manera me aconsejan que migre los datos?
Es una tabla bastante grande (90.000 registros)...
para migrar los datos genero un datareader para la tabla de access y luego
lo leo y ejecuto una instruccion insert para cada registros en la tabla de
sql, pero me parece que no debe ser la manera mas eficiente.
Bueno, gracias por la ayuda.



Preguntas similares