ADO and timestamp/date errors
Hi
I am trying to read a data set in ADO. If I exclude a timestamp field that I
have in the return type, all works wonderfully. The moment I include the
timestamp (i've even tried casting it as date) it bombs out with an OLEDB
Exception of some type.
Has anyone got any ideas?
Thanks
Craig
any sample code?
regards,
-----
Jonel Rienton
http://blogs.road14.com
Software Developer, *nix Advocate
On Feb 21, 2005, at 2:05 PM, Craig Bryden wrote:
Show quoted text
Hi
I am trying to read a data set in ADO. If I exclude a timestamp field
that I
have in the return type, all works wonderfully. The moment I include
the
timestamp (i've even tried casting it as date) it bombs out with an
OLEDB
Exception of some type.Has anyone got any ideas?
Thanks
Craig---------------------------(end of
broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly
Craig Bryden wrote:
Hi
I am trying to read a data set in ADO. If I exclude a timestamp field that I
have in the return type, all works wonderfully. The moment I include the
timestamp (i've even tried casting it as date) it bombs out with an OLEDB
Exception of some type.
Try reading the text of the exception. You are using an old version of
OLE DB. Try the latest version
(http://gborg.postgresql.org/project/oledb). It should either work, or
give you a proper error message.
Has anyone got any ideas?
OLE DB is a binary interface. As such, it needs to know the binary
structure of any data type it encounters. It does not yet support all
the data types returned by Postgres 8. Please place (CC to this list)
the way you defined the column that offends OLE DB.
Please note that a newer version of OLE DB did have some additions in
the time types category, so I heartily suggest you try that first.
Thanks
Craig
Shachar
--
Shachar Shemesh
Lingnu Open Source Consulting ltd.
Have you backed up today's work? http://www.lingnu.com/backup.html
Hi Shachar
I have confirmed that I am running the latest version.
The error that I get (in ADO .Net) is :
******************************************************************************
An unhandled exception of type 'System.ArgumentOutOfRangeException' occurred in system.data.dll
Additional information:
Specified argument was out of the range of valid values.\r\nParameter name: Year, Month, and Day parameters describe an unrepresentable DateTime
******************************************************************************
I have changed to using the ODBC and it is working fine.
Thanks
Craig
----- Original Message -----
From: "Shachar Shemesh" <psql@shemesh.biz>
To: "Craig Bryden" <postgresql@bryden.co.za>
Cc: "pgsql" <pgsql-general@postgresql.org>
Sent: Tuesday, February 22, 2005 6:13 AM
Subject: Re: [GENERAL] ADO and timestamp/date errors
Show quoted text
Craig Bryden wrote:
Hi
I am trying to read a data set in ADO. If I exclude a timestamp field that I
have in the return type, all works wonderfully. The moment I include the
timestamp (i've even tried casting it as date) it bombs out with an OLEDB
Exception of some type.Try reading the text of the exception. You are using an old version of
OLE DB. Try the latest version
(http://gborg.postgresql.org/project/oledb). It should either work, or
give you a proper error message.Has anyone got any ideas?
OLE DB is a binary interface. As such, it needs to know the binary
structure of any data type it encounters. It does not yet support all
the data types returned by Postgres 8. Please place (CC to this list)
the way you defined the column that offends OLE DB.Please note that a newer version of OLE DB did have some additions in
the time types category, so I heartily suggest you try that first.Thanks
CraigShachar
--
Shachar Shemesh
Lingnu Open Source Consulting ltd.
Have you backed up today's work? http://www.lingnu.com/backup.html
Craig Bryden wrote:
Hi Shachar
I have confirmed that I am running the latest version.
The error that I get (in ADO .Net) is :
******************************************************************************
An unhandled exception of type 'System.ArgumentOutOfRangeException'
occurred in system.data.dllAdditional information:
Specified argument was out of the range of valid values.\r\nParameter
name: Year, Month, and Day parameters describe an unrepresentable DateTime
Can you please send me the table creation command, and the command that
failed? It sounds to me like a bug in the time handling by the OLE DB.
Shachar
--
Shachar Shemesh
Lingnu Open Source Consulting ltd.
Have you backed up today's work? http://www.lingnu.com/backup.html
Hi Shachar
Unfortunately due to a Non disclose agreement that I have on the project, I
cannot send the whole table creation statement. But I have included some
fields below:
CREATE TABLE tb_Player (
PlayerID SERIAL NOT NULL PRIMARY KEY ,
Firstname varchar (100) NOT NULL ,
Lastname varchar (100) NOT NULL ,
Initials varchar (15) NULL ,
EMail varchar (255) NOT NULL ,
DateCreated timestamp NOT NULL DEFAULT current_timestamp
) WITHOUT OIDS;
The C# code is:
string connString = "Location=MyDB;Provider=\"PostgreSQL.1\";User
ID=XXX;Data Source=localhost;Extended Properties=;Password=XXX";
System.Data.OleDb.OleDbConnection dbConn = new
System.Data.OleDb.OleDbConnection(connString);
dbConn.Open();
DSet1 = new DataSet();
System.Data.OleDb.OleDbCommand comm = new
System.Data.OleDb.OleDbCommand("select datecreated from
pr_GetPlayerByID(2500 )",dbConn);
System.Data.OleDb.OleDbDataAdapter da = new
System.Data.OleDb.OleDbDataAdapter(comm);
DataTable dt = new DataTable("Table1");
DSet1.Tables.Add(dt);
da.Fill(DSet1.Tables["Table1"]);
dgResults.DataSource = DSet1;
dgResults.DataMember = "Table1";
The type that is returned by the function is:
CREATE TYPE pr_getplayerbyid_returntype AS
(playerid int4,
firstname varchar(100),
lastname varchar(100),
initials varchar(15),
email varchar(255),
datecreated timestamp);
Thanks
Craig
----- Original Message -----
From: "Shachar Shemesh" <psql@shemesh.biz>
To: "Craig Bryden" <postgresql@bryden.co.za>
Cc: "pgsql" <pgsql-general@postgresql.org>
Sent: Tuesday, February 22, 2005 9:26 PM
Subject: Re: [GENERAL] ADO and timestamp/date errors
Craig Bryden wrote:
Hi Shachar
I have confirmed that I am running the latest version.
The error that I get (in ADO .Net) is :
****************************************************************************
**
An unhandled exception of type 'System.ArgumentOutOfRangeException'
occurred in system.data.dllAdditional information:
Specified argument was out of the range of valid values.\r\nParameter
name: Year, Month, and Day parameters describe an unrepresentable
DateTime
Show quoted text
Can you please send me the table creation command, and the command that
failed? It sounds to me like a bug in the time handling by the OLE DB.Shachar
--
Shachar Shemesh
Lingnu Open Source Consulting ltd.
Have you backed up today's work? http://www.lingnu.com/backup.html
Hi Craig,
Out of curiosity, beside portability, why haven't you use Npgsql?
regards,
-----
Jonel Rienton
http://blogs.road14.com
Software Developer, *nix Advocate
On Feb 23, 2005, at 1:48 PM, Craig Bryden wrote:
Show quoted text
Hi Shachar
Unfortunately due to a Non disclose agreement that I have on the
project, I
cannot send the whole table creation statement. But I have included
some
fields below:
CREATE TABLE tb_Player (
PlayerID SERIAL NOT NULL PRIMARY KEY ,
Firstname varchar (100) NOT NULL ,
Lastname varchar (100) NOT NULL ,
Initials varchar (15) NULL ,
EMail varchar (255) NOT NULL ,
DateCreated timestamp NOT NULL DEFAULT current_timestamp
) WITHOUT OIDS;The C# code is:
string connString = "Location=MyDB;Provider=\"PostgreSQL.1\";User
ID=XXX;Data Source=localhost;Extended Properties=;Password=XXX";
System.Data.OleDb.OleDbConnection dbConn = new
System.Data.OleDb.OleDbConnection(connString);
dbConn.Open();
DSet1 = new DataSet();
System.Data.OleDb.OleDbCommand comm = new
System.Data.OleDb.OleDbCommand("select datecreated from
pr_GetPlayerByID(2500 )",dbConn);
System.Data.OleDb.OleDbDataAdapter da = new
System.Data.OleDb.OleDbDataAdapter(comm);
DataTable dt = new DataTable("Table1");
DSet1.Tables.Add(dt);
da.Fill(DSet1.Tables["Table1"]);
dgResults.DataSource = DSet1;
dgResults.DataMember = "Table1";The type that is returned by the function is:
CREATE TYPE pr_getplayerbyid_returntype AS
(playerid int4,
firstname varchar(100),
lastname varchar(100),
initials varchar(15),
email varchar(255),
datecreated timestamp);Thanks
Craig----- Original Message -----
From: "Shachar Shemesh" <psql@shemesh.biz>
To: "Craig Bryden" <postgresql@bryden.co.za>
Cc: "pgsql" <pgsql-general@postgresql.org>
Sent: Tuesday, February 22, 2005 9:26 PM
Subject: Re: [GENERAL] ADO and timestamp/date errorsCraig Bryden wrote:
Hi Shachar
I have confirmed that I am running the latest version.
The error that I get (in ADO .Net) is :***********************************************************************
*****
**An unhandled exception of type 'System.ArgumentOutOfRangeException'
occurred in system.data.dllAdditional information:
Specified argument was out of the range of valid values.\r\nParameter
name: Year, Month, and Day parameters describe an unrepresentableDateTime
Can you please send me the table creation command, and the command
that
failed? It sounds to me like a bug in the time handling by the OLE DB.Shachar
--
Shachar Shemesh
Lingnu Open Source Consulting ltd.
Have you backed up today's work? http://www.lingnu.com/backup.html---------------------------(end of
broadcast)---------------------------
TIP 8: explain analyze is your friend
Hi Jonel
In our project, we have some Visual C++ Applications that will also talk to0
the database. We are trying to stick to common drivers. The VC++ clients are
having the same problem as I am reporting.
Thanks
Craig
----- Original Message -----
From: "Jonel Rienton" <jonel@road14.com>
To: "Craig Bryden" <postgresql@bryden.co.za>
Cc: "Shachar Shemesh" <psql@shemesh.biz>; "pgsql"
<pgsql-general@postgresql.org>
Sent: Wednesday, February 23, 2005 11:09 PM
Subject: Re: [GENERAL] ADO and timestamp/date errors
Show quoted text
Hi Craig,
Out of curiosity, beside portability, why haven't you use Npgsql?
regards,
-----
Jonel Rienton
http://blogs.road14.com
Software Developer, *nix Advocate
On Feb 23, 2005, at 1:48 PM, Craig Bryden wrote:Hi Shachar
Unfortunately due to a Non disclose agreement that I have on the
project, I
cannot send the whole table creation statement. But I have included
some
fields below:
CREATE TABLE tb_Player (
PlayerID SERIAL NOT NULL PRIMARY KEY ,
Firstname varchar (100) NOT NULL ,
Lastname varchar (100) NOT NULL ,
Initials varchar (15) NULL ,
EMail varchar (255) NOT NULL ,
DateCreated timestamp NOT NULL DEFAULT current_timestamp
) WITHOUT OIDS;The C# code is:
string connString = "Location=MyDB;Provider=\"PostgreSQL.1\";User
ID=XXX;Data Source=localhost;Extended Properties=;Password=XXX";
System.Data.OleDb.OleDbConnection dbConn = new
System.Data.OleDb.OleDbConnection(connString);
dbConn.Open();
DSet1 = new DataSet();
System.Data.OleDb.OleDbCommand comm = new
System.Data.OleDb.OleDbCommand("select datecreated from
pr_GetPlayerByID(2500 )",dbConn);
System.Data.OleDb.OleDbDataAdapter da = new
System.Data.OleDb.OleDbDataAdapter(comm);
DataTable dt = new DataTable("Table1");
DSet1.Tables.Add(dt);
da.Fill(DSet1.Tables["Table1"]);
dgResults.DataSource = DSet1;
dgResults.DataMember = "Table1";The type that is returned by the function is:
CREATE TYPE pr_getplayerbyid_returntype AS
(playerid int4,
firstname varchar(100),
lastname varchar(100),
initials varchar(15),
email varchar(255),
datecreated timestamp);Thanks
Craig----- Original Message -----
From: "Shachar Shemesh" <psql@shemesh.biz>
To: "Craig Bryden" <postgresql@bryden.co.za>
Cc: "pgsql" <pgsql-general@postgresql.org>
Sent: Tuesday, February 22, 2005 9:26 PM
Subject: Re: [GENERAL] ADO and timestamp/date errorsCraig Bryden wrote:
Hi Shachar
I have confirmed that I am running the latest version.
The error that I get (in ADO .Net) is :***********************************************************************
*****
**An unhandled exception of type 'System.ArgumentOutOfRangeException'
occurred in system.data.dllAdditional information:
Specified argument was out of the range of valid values.\r\nParameter
name: Year, Month, and Day parameters describe an unrepresentableDateTime
Can you please send me the table creation command, and the command
that
failed? It sounds to me like a bug in the time handling by the OLE DB.Shachar
--
Shachar Shemesh
Lingnu Open Source Consulting ltd.
Have you backed up today's work? http://www.lingnu.com/backup.html---------------------------(end of
broadcast)---------------------------
TIP 8: explain analyze is your friend---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?