OVH Cloud OVH Cloud

User-defined Data Types et SQL Server Express

3 réponses
Avatar
osman
Bonjour,

je travaille sur la migration d'une base Sybase vers SQL Server Express en
utilisant BCP (faute de mieux) et je suis confronté au problème suivant:
Dans ma base Sybase j'ai les types "time", "date" et "datetime" tandis que
dans SQL Server Express il n'y a que le type "datetime". Ce qui m'oblige à
utiliser "datetime" à la place de "time" et "date" lors de la generation de
mon script sur SQL Server Express.
Mais quand j'utilise BCP pour faire migrer les données, j'ai l'erreure
suivante : Format de date non valide.
Cette erreure me semble venir du fait que mes données qui étaient en "time"
ou en "date" sous Sybase ne peuvent pas être migrées en format "datetime"
sur SQL Server Express (BCP ne fait pas la conversion implicite).
J'aimerais donc savoir s'il est possible de definir des User-defined Data
Types (time, date), qui seraient "équivalent" au "time" et "date" de Sybase,
pour SQL Server Express.

Merci.
Os.

3 réponses

Avatar
Bouarroudj Mohamed
Contrairement a SQL Server 2005, dans SQL Server 2000 les "User-Defined Data
Types" sont basés sur les types systèmes prédéfinie, autrement dit vous ne
pouvez pas créer un type de type Date ou Time.

Dans votre cas je pense que vous pouvez concaténer les deux colonnes Sybase
de type Date et Time dans une seule colonne DateTime, vous pouvez faire la
transformation lors du BCP OUT ou du BCP IN ou simplement avec DTS


Bouarroudj Mohamed
http://www.sqldbtools.com/


"osman" wrote in message
news:%
Bonjour,

je travaille sur la migration d'une base Sybase vers SQL Server Express en
utilisant BCP (faute de mieux) et je suis confronté au problème suivant:
Dans ma base Sybase j'ai les types "time", "date" et "datetime" tandis que
dans SQL Server Express il n'y a que le type "datetime". Ce qui m'oblige à
utiliser "datetime" à la place de "time" et "date" lors de la generation
de mon script sur SQL Server Express.
Mais quand j'utilise BCP pour faire migrer les données, j'ai l'erreure
suivante : Format de date non valide.
Cette erreure me semble venir du fait que mes données qui étaient en
"time" ou en "date" sous Sybase ne peuvent pas être migrées en format
"datetime" sur SQL Server Express (BCP ne fait pas la conversion
implicite).
J'aimerais donc savoir s'il est possible de definir des User-defined Data
Types (time, date), qui seraient "équivalent" au "time" et "date" de
Sybase, pour SQL Server Express.

Merci.
Os.



Avatar
osman
Donc si j'ai bien compris, il est possible de créer un type de type Date ou
Time avec SQL Server 2005 Express mais pas avec 2000, ou c'est l'inverse ?
Ma precedente question portait sur Express 2005.

cordialement,


"Bouarroudj Mohamed" a écrit dans le message de
news:
Contrairement a SQL Server 2005, dans SQL Server 2000 les "User-Defined
Data Types" sont basés sur les types systèmes prédéfinie, autrement dit
vous ne pouvez pas créer un type de type Date ou Time.

Dans votre cas je pense que vous pouvez concaténer les deux colonnes
Sybase de type Date et Time dans une seule colonne DateTime, vous pouvez
faire la transformation lors du BCP OUT ou du BCP IN ou simplement avec
DTS


Bouarroudj Mohamed
http://www.sqldbtools.com/


"osman" wrote in message
news:%
Bonjour,

je travaille sur la migration d'une base Sybase vers SQL Server Express
en utilisant BCP (faute de mieux) et je suis confronté au problème
suivant:
Dans ma base Sybase j'ai les types "time", "date" et "datetime" tandis
que dans SQL Server Express il n'y a que le type "datetime". Ce qui
m'oblige à utiliser "datetime" à la place de "time" et "date" lors de la
generation de mon script sur SQL Server Express.
Mais quand j'utilise BCP pour faire migrer les données, j'ai l'erreure
suivante : Format de date non valide.
Cette erreure me semble venir du fait que mes données qui étaient en
"time" ou en "date" sous Sybase ne peuvent pas être migrées en format
"datetime" sur SQL Server Express (BCP ne fait pas la conversion
implicite).
J'aimerais donc savoir s'il est possible de definir des User-defined Data
Types (time, date), qui seraient "équivalent" au "time" et "date" de
Sybase, pour SQL Server Express.

Merci.
Os.







Avatar
Bouarroudj Mohamed
Oui vous pouvez creer des UDDT avec SQL Server 2005
ci-dessous un exemple :
http://www.sqlservercentral.com/columnists/dPriyankara/userdefineddatatypesinsqlserver2005.asp


"osman" wrote in message
news:
Donc si j'ai bien compris, il est possible de créer un type de type Date
ou Time avec SQL Server 2005 Express mais pas avec 2000, ou c'est
l'inverse ?
Ma precedente question portait sur Express 2005.

cordialement,


"Bouarroudj Mohamed" a écrit dans le message de
news:
Contrairement a SQL Server 2005, dans SQL Server 2000 les "User-Defined
Data Types" sont basés sur les types systèmes prédéfinie, autrement dit
vous ne pouvez pas créer un type de type Date ou Time.

Dans votre cas je pense que vous pouvez concaténer les deux colonnes
Sybase de type Date et Time dans une seule colonne DateTime, vous pouvez
faire la transformation lors du BCP OUT ou du BCP IN ou simplement avec
DTS


Bouarroudj Mohamed
http://www.sqldbtools.com/


"osman" wrote in message
news:%
Bonjour,

je travaille sur la migration d'une base Sybase vers SQL Server Express
en utilisant BCP (faute de mieux) et je suis confronté au problème
suivant:
Dans ma base Sybase j'ai les types "time", "date" et "datetime" tandis
que dans SQL Server Express il n'y a que le type "datetime". Ce qui
m'oblige à utiliser "datetime" à la place de "time" et "date" lors de la
generation de mon script sur SQL Server Express.
Mais quand j'utilise BCP pour faire migrer les données, j'ai l'erreure
suivante : Format de date non valide.
Cette erreure me semble venir du fait que mes données qui étaient en
"time" ou en "date" sous Sybase ne peuvent pas être migrées en format
"datetime" sur SQL Server Express (BCP ne fait pas la conversion
implicite).
J'aimerais donc savoir s'il est possible de definir des User-defined
Data Types (time, date), qui seraient "équivalent" au "time" et "date"
de Sybase, pour SQL Server Express.

Merci.
Os.