Error - expecting Datetime Field received widestring
Posted: Tue 29 Jan 2013 13:38
Hi
I have this strange behavior
On windows 2008 server, with SQL EXPRESS 2012 installed, works fine.
On windows 7 terminal accessing the server 2008 I got the error - expecting for Dt_inclusao Datetime Field received widestring.
Table defintion is
CREATE TABLE [dbo].[sac] (
[numero] bigint NOT NULL ,
[cod_unidade] smallint NOT NULL ,
[tipocontato] varchar(20) COLLATE Latin1_General_CI_AS NOT NULL ,
[ncnpj] bigint NULL ,
[empresa] varchar(40) COLLATE Latin1_General_CI_AS NOT NULL ,
[cnpj] varchar(18) COLLATE Latin1_General_CI_AS NULL ,
[contato] varchar(40) COLLATE Latin1_General_CI_AS NOT NULL ,
[historico] ntext COLLATE Latin1_General_CI_AS NULL ,
[e_mail] varchar(60) COLLATE Latin1_General_CI_AS NULL ,
[telefone] varchar(30) COLLATE Latin1_General_CI_AS NULL ,
[celular] varchar(30) COLLATE Latin1_General_CI_AS NULL ,
[fax] varchar(15) COLLATE Latin1_General_CI_AS NULL ,
[dt_inclusao] datetime2 NULL ,
[dt_alteracao] datetime2 NULL ,
[digitador] varchar(16) COLLATE Latin1_General_CI_AS NULL ,
[resp_decisao] smallint NULL ,
[com_resp_decisao] ntext COLLATE Latin1_General_CI_AS NULL ,
[freq_transp] varchar(20) COLLATE Latin1_General_CI_AS NULL ,
[com_freq_transp] ntext COLLATE Latin1_General_CI_AS NULL ,
[cif] smallint NULL ,
[fob] smallint NULL ,
[com_frete] ntext COLLATE Latin1_General_CI_AS NULL ,
[transp_atual] varchar(40) COLLATE Latin1_General_CI_AS NULL ,
[com_transp_atual] ntext COLLATE Latin1_General_CI_AS NULL ,
[avaliacao] ntext COLLATE Latin1_General_CI_AS NULL,
CONSTRAINT [PK__sac] PRIMARY KEY ([numero], [cod_unidade])
)
ON [PRIMARY]
TEXTIMAGE_ON [PRIMARY]
GO
TuniQuery with "SELECT * FROM SAC ORDER BY numero DESC".
After I changed table DEFINITION, I didn´t get error.
New table definition with datetime2 changed for datetime.
CREATE TABLE [dbo].[sac] (
[numero] bigint NOT NULL ,
[cod_unidade] smallint NOT NULL ,
[tipocontato] varchar(20) COLLATE Latin1_General_CI_AS NOT NULL ,
[ncnpj] bigint NULL ,
[empresa] varchar(40) COLLATE Latin1_General_CI_AS NOT NULL ,
[cnpj] varchar(18) COLLATE Latin1_General_CI_AS NULL ,
[contato] varchar(40) COLLATE Latin1_General_CI_AS NOT NULL ,
[historico] text COLLATE Latin1_General_CI_AS NULL ,
[e_mail] varchar(60) COLLATE Latin1_General_CI_AS NULL ,
[telefone] varchar(30) COLLATE Latin1_General_CI_AS NULL ,
[celular] varchar(30) COLLATE Latin1_General_CI_AS NULL ,
[fax] varchar(15) COLLATE Latin1_General_CI_AS NULL ,
[dt_inclusao] datetime NULL ,
[dt_alteracao] datetime NULL ,
[digitador] varchar(16) COLLATE Latin1_General_CI_AS NULL ,
[resp_decisao] smallint NULL ,
[com_resp_decisao] text COLLATE Latin1_General_CI_AS NULL ,
[freq_transp] varchar(20) COLLATE Latin1_General_CI_AS NULL ,
[com_freq_transp] text COLLATE Latin1_General_CI_AS NULL ,
[cif] smallint NULL ,
[fob] smallint NULL ,
[com_frete] text COLLATE Latin1_General_CI_AS NULL ,
[transp_atual] varchar(40) COLLATE Latin1_General_CI_AS NULL ,
[com_transp_atual] text COLLATE Latin1_General_CI_AS NULL ,
[avaliacao] ntext COLLATE Latin1_General_CI_AS NULL,
CONSTRAINT [PK__sac] PRIMARY KEY ([numero], [cod_unidade])
)
ON [PRIMARY]
TEXTIMAGE_ON [PRIMARY]
GO
I think the problem is with datetime2 field and date field.
Computers that have SQL Client installed the error didn´t occur.
Delphi XE with Devart Unidac 4.6.11
I have this strange behavior
On windows 2008 server, with SQL EXPRESS 2012 installed, works fine.
On windows 7 terminal accessing the server 2008 I got the error - expecting for Dt_inclusao Datetime Field received widestring.
Table defintion is
CREATE TABLE [dbo].[sac] (
[numero] bigint NOT NULL ,
[cod_unidade] smallint NOT NULL ,
[tipocontato] varchar(20) COLLATE Latin1_General_CI_AS NOT NULL ,
[ncnpj] bigint NULL ,
[empresa] varchar(40) COLLATE Latin1_General_CI_AS NOT NULL ,
[cnpj] varchar(18) COLLATE Latin1_General_CI_AS NULL ,
[contato] varchar(40) COLLATE Latin1_General_CI_AS NOT NULL ,
[historico] ntext COLLATE Latin1_General_CI_AS NULL ,
[e_mail] varchar(60) COLLATE Latin1_General_CI_AS NULL ,
[telefone] varchar(30) COLLATE Latin1_General_CI_AS NULL ,
[celular] varchar(30) COLLATE Latin1_General_CI_AS NULL ,
[fax] varchar(15) COLLATE Latin1_General_CI_AS NULL ,
[dt_inclusao] datetime2 NULL ,
[dt_alteracao] datetime2 NULL ,
[digitador] varchar(16) COLLATE Latin1_General_CI_AS NULL ,
[resp_decisao] smallint NULL ,
[com_resp_decisao] ntext COLLATE Latin1_General_CI_AS NULL ,
[freq_transp] varchar(20) COLLATE Latin1_General_CI_AS NULL ,
[com_freq_transp] ntext COLLATE Latin1_General_CI_AS NULL ,
[cif] smallint NULL ,
[fob] smallint NULL ,
[com_frete] ntext COLLATE Latin1_General_CI_AS NULL ,
[transp_atual] varchar(40) COLLATE Latin1_General_CI_AS NULL ,
[com_transp_atual] ntext COLLATE Latin1_General_CI_AS NULL ,
[avaliacao] ntext COLLATE Latin1_General_CI_AS NULL,
CONSTRAINT [PK__sac] PRIMARY KEY ([numero], [cod_unidade])
)
ON [PRIMARY]
TEXTIMAGE_ON [PRIMARY]
GO
TuniQuery with "SELECT * FROM SAC ORDER BY numero DESC".
After I changed table DEFINITION, I didn´t get error.
New table definition with datetime2 changed for datetime.
CREATE TABLE [dbo].[sac] (
[numero] bigint NOT NULL ,
[cod_unidade] smallint NOT NULL ,
[tipocontato] varchar(20) COLLATE Latin1_General_CI_AS NOT NULL ,
[ncnpj] bigint NULL ,
[empresa] varchar(40) COLLATE Latin1_General_CI_AS NOT NULL ,
[cnpj] varchar(18) COLLATE Latin1_General_CI_AS NULL ,
[contato] varchar(40) COLLATE Latin1_General_CI_AS NOT NULL ,
[historico] text COLLATE Latin1_General_CI_AS NULL ,
[e_mail] varchar(60) COLLATE Latin1_General_CI_AS NULL ,
[telefone] varchar(30) COLLATE Latin1_General_CI_AS NULL ,
[celular] varchar(30) COLLATE Latin1_General_CI_AS NULL ,
[fax] varchar(15) COLLATE Latin1_General_CI_AS NULL ,
[dt_inclusao] datetime NULL ,
[dt_alteracao] datetime NULL ,
[digitador] varchar(16) COLLATE Latin1_General_CI_AS NULL ,
[resp_decisao] smallint NULL ,
[com_resp_decisao] text COLLATE Latin1_General_CI_AS NULL ,
[freq_transp] varchar(20) COLLATE Latin1_General_CI_AS NULL ,
[com_freq_transp] text COLLATE Latin1_General_CI_AS NULL ,
[cif] smallint NULL ,
[fob] smallint NULL ,
[com_frete] text COLLATE Latin1_General_CI_AS NULL ,
[transp_atual] varchar(40) COLLATE Latin1_General_CI_AS NULL ,
[com_transp_atual] text COLLATE Latin1_General_CI_AS NULL ,
[avaliacao] ntext COLLATE Latin1_General_CI_AS NULL,
CONSTRAINT [PK__sac] PRIMARY KEY ([numero], [cod_unidade])
)
ON [PRIMARY]
TEXTIMAGE_ON [PRIMARY]
GO
I think the problem is with datetime2 field and date field.
Computers that have SQL Client installed the error didn´t occur.
Delphi XE with Devart Unidac 4.6.11