Search found 17 matches

by dsaracini
Wed 01 Apr 2009 21:12
Forum: dotConnect for PostgreSQL
Topic: what are the advantages of using dotConnect over npgsql
Replies: 4
Views: 2662

Update!

I did receive and email late today stating that they have sent the request to the billing company to process a refund for me. In my mind, this certainly reduces the risk in using/evaluating Devart's product.

It seemed only appropriate that I post this...
by dsaracini
Wed 01 Apr 2009 16:05
Forum: dotConnect for PostgreSQL
Topic: what are the advantages of using dotConnect over npgsql
Replies: 4
Views: 2662

There are also several reasons not to pick devart. Please see all of the bugs that I reported. Almost all of them have been reproduced/confirmed. And there hasn't been a patch or new release in over 6 weeks. And if you want a refund. Forget it. I have requested one 3 times (very nicely) and have not received it. I have switched to Npgsql. It works and seems stable and you have the source.

I recommend you careful review both before paying any money.
by dsaracini
Thu 19 Mar 2009 17:43
Forum: dotConnect for PostgreSQL
Topic: DBMonitor does not see my process
Replies: 5
Views: 3063

May I have a status update? When will this be addressed?

Thank you.
by dsaracini
Thu 19 Mar 2009 17:42
Forum: dotConnect for PostgreSQL
Topic: "Null" Parameters don't seem to be working
Replies: 3
Views: 1775

May I have a status update? When will this be addressed?

Thank you.
by dsaracini
Thu 19 Mar 2009 17:42
Forum: dotConnect for PostgreSQL
Topic: Multiple insert statements with protocol 3
Replies: 53
Views: 9878

May I have a status update? When will this be addressed?

Thank you.
by dsaracini
Thu 19 Mar 2009 17:41
Forum: dotConnect for PostgreSQL
Topic: Error in PgSqlDataTable.Load with multiple results returned
Replies: 4
Views: 2316

May I have a status update? When will this issue be addressed?

Thank you.
by dsaracini
Thu 19 Mar 2009 17:40
Forum: dotConnect for PostgreSQL
Topic: Multiple Insert not working...
Replies: 1
Views: 1594

Multiple Insert not working...

Hello,

The following fails to insert data into the tables. It DOES return the correct IDs (it just fails to actually populate the "names" - which is kind of important)

Code:

private void button1_Click(object sender, EventArgs e)
{
Conn.Open();
try
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("insert into foo (foo_name) values (:1) returning id;");
sb.AppendLine("insert into moo (moo_name) values (:2) returning id;");
sb.AppendLine("insert into foo (foo_name) values (:3) returning id;");
sb.AppendLine("insert into noo (noo_name) values (:4) returning id;");

PgSqlCommand cmd = new PgSqlCommand();
cmd.CommandText = sb.ToString();
cmd.Connection = Conn;

cmd.Parameters.Add(new PgSqlParameter("1", "Foo"));
cmd.Parameters.Add(new PgSqlParameter("2", "Moo"));
cmd.Parameters.Add(new PgSqlParameter("3", "Foo2"));
cmd.Parameters.Add(new PgSqlParameter("4", "Noo"));

StringBuilder sb2 = new StringBuilder();

using (PgSqlDataReader reader = cmd.ExecuteReader())
{
do
{
while (reader.Read())
{
sb2.AppendLine(reader.GetString(0));
}
}
while (reader.NextResult());
}

MessageBox.Show(sb2.ToString());
}
finally
{
Conn.Close();
}

}

Note: I'm using protocol 2; Postgres 8.3.4; Devart 4.0.22

I have to say that at this point, I'm getting pretty frustrated with Devart. I feel like everything I try to do other than just doing a simple "select" with no params FAILS.

May I inquire about your QA procedures? I feel like I"m doing your QA. Do you have unit tests for your components? It seems like all of this would be very simple to write unit tests for. Virtually everything is non-visual.

I'm afraid I'm going to have to give up on Devart and ask for refund and go with the freeware components. At least then I have the code and can fix the problems myself.

David
by dsaracini
Thu 19 Mar 2009 00:56
Forum: dotConnect for PostgreSQL
Topic: "Null" Parameters don't seem to be working
Replies: 3
Views: 1775

"Null" Parameters don't seem to be working

Hello,

I have a table with a varchar field in it (and it accepts nulls). For testing purposes let's call it moo. Here is the table structure:

CREATE TABLE moo
(
id serial NOT NULL,
moo_name character varying(30),
test_name character varying(30)
)
WITH (OIDS=FALSE);
ALTER TABLE moo OWNER TO postgres;

When I first connect to the database, I send a cmd to transform null equals -- via:

cmd.CommandText = "set transform_null_equals to on;";
cmd.ExecuteNonQuery();

this all works fine. However, I cannot seem to get my queries to return data when I use parameters (and nulls). See the follow test code that will demo the problem.

(assume a winform app with two buttons and a multiline textbox)

private void button1_Click(object sender, EventArgs e)
{

pgSqlConnection1.Open();
try
{

PgSqlCommand cmd1 = new PgSqlCommand();
cmd1.Connection = pgSqlConnection1;
cmd1.CommandText = "set transform_null_equals to on;";
cmd1.ExecuteNonQuery();

PgSqlCommand cmd2 = new PgSqlCommand();
cmd2.Connection = pgSqlConnection1;
cmd2.CommandText = "select moo_name from moo where test_name = :test_name";

PgSqlParameter param = new PgSqlParameter();
param.PgSqlType = PgSqlType.VarChar;
param.IsNullable = true;
param.Direction = ParameterDirection.Input;
param.Value = DBNull.Value;
param.ParameterName = "test_name";

// param.PgSqlValue = DBNull.Value; <---tried! does not work!
// param.Value = null; <----tried! does not work!


cmd2.Parameters.Add(param);

StringBuilder sb = new StringBuilder();

using (PgSqlDataReader reader = cmd2.ExecuteReader())
{
while (reader.Read())
{
sb.AppendLine(reader.GetString(0));
}

}

textBox1.Text = sb.ToString(); //<----NO DATA

}
finally
{
pgSqlConnection1.Close();
}
}

private void button2_Click(object sender, EventArgs e)
{

pgSqlConnection1.Open();
try
{

PgSqlCommand cmd1 = new PgSqlCommand();

cmd1.Connection = pgSqlConnection1;
cmd1.CommandText = "set transform_null_equals to on;";
cmd1.ExecuteNonQuery();

PgSqlCommand cmd2 = new PgSqlCommand();
cmd2.Connection = pgSqlConnection1;
cmd2.CommandText = "select moo_name from moo where test_name = null";

StringBuilder sb = new StringBuilder();

using (PgSqlDataReader reader = cmd2.ExecuteReader())
{
while (reader.Read())
{
sb.AppendLine(reader.GetString(0));
}
}

textBox1.Text = sb.ToString(); //will have data in it!!!

}
finally
{
pgSqlConnection1.Close();
}

}

Please let me know if there is something I'm doing wrong above... however, it really seems like a bug. :)

Note: I'm currently using ver 4.00.22

Thanks,

David
by dsaracini
Mon 16 Mar 2009 21:26
Forum: dotConnect for PostgreSQL
Topic: Devart.Data listed twice...
Replies: 1
Views: 1579

Devart.Data listed twice...

Hello,

When I go to "Add Reference" I can see Devart.Data listed twice... The two locations (and other info) is as follows:

Devart.Data
Version: 5.0.1.0
Runtime: v2.0.50727
Path: c:\program files(x86)\Common Files\Devart\dotConnect\5.00\Net2\Devart.Data.dll

Devart.Data
Version: 5.0.1.0
Runtime: v2.0.50727
Path: c:\program files(x86)\Devart\dotConnect\PostgreSQL\Devart.Data.dll

Is this a problem? Which should should I add when need to reference? Does it not make a difference?

Note: none of the other devart libraries are duplicated. Only Devart.Data.

Thanks,

David
by dsaracini
Thu 12 Mar 2009 21:42
Forum: dotConnect for PostgreSQL
Topic: Error in PgSqlDataTable.Load with multiple results returned
Replies: 4
Views: 2316

Follow up:

I get the same error if I create a PgSqlDataSet... add 3 tables to it and try to do a:

ds.Load(reader, LoadOption.OverwriteChanges, new string[] {"myfoo", "mymoo", "mynoo"} );
by dsaracini
Thu 12 Mar 2009 21:17
Forum: dotConnect for PostgreSQL
Topic: Error in PgSqlDataTable.Load with multiple results returned
Replies: 4
Views: 2316

Error in PgSqlDataTable.Load with multiple results returned

Hello,

I am attempting to return multiple "results" from a single round trip and load them into separate tables. I have a simple way of reproducing the problem:

create three tables and fill with data:

CREATE TABLE foo
(
id serial NOT NULL,
foo_name character varying(30)
)
WITH (OIDS=FALSE);
ALTER TABLE foo OWNER TO postgres;

CREATE TABLE moo
(
id serial NOT NULL,
moo_name character varying(30)
)
WITH (OIDS=FALSE);
ALTER TABLE moo OWNER TO postgres;

CREATE TABLE noo
(
id serial NOT NULL,
noo_name character varying(30)
)
WITH (OIDS=FALSE);
ALTER TABLE noo OWNER TO postgres;

insert into foo (foo_name) values ('foo1');
insert into foo (foo_name) values ('foo2');
insert into foo (foo_name) values ('foo3');

insert into moo (moo_name) values ('moo1');
insert into moo (moo_name) values ('moo2');
insert into moo (moo_name) values ('moo3');

insert into noo (noo_name) values ('noo1');
insert into noo (noo_name) values ('noo2');
insert into noo (noo_name) values ('noo3');

then create a winform application... add a connection object to the main form and set the connection string (note: the protocol must be VER20)

pgSqlConnection1.Open(); //protocol = ver20
try
{
StringBuilder sqlstmt = new StringBuilder();
sqlstmt.AppendLine("select * from foo where id = :id;");
sqlstmt.AppendLine("select * from moo where id = :id;");
sqlstmt.AppendLine("select * from noo where id = :id;");

PgSqlCommand cmd = new PgSqlCommand(sqlstmt.ToString(), pgSqlConnection1);

cmd.Parameters.Add("id", 2);

PgSqlDataReader reader = cmd.ExecuteReader();
PgSqlDataTable foo_table = new PgSqlDataTable();

foo_table.Load(reader); // object, I can get the information out... so, it's not a problem with the reader not being able to "see" the information.

I am using:

VS 2008 std
Postgres 8.3
OS: Vista
.Net 3.5 sp1

Here is the stack of the exception I receive:

at Devart.Common.SelectStatement.f()
at Devart.Common.SelectStatement.a(ParserBehavior A_0)
at Devart.Data.PostgreSql.PgSqlSelectStatement.Parse(String text, ParserBehavior behavior)
at Devart.Data.PostgreSql.PgSqlDataReader.GetSchemaTable()
at System.Data.ProviderBase.SchemaMapping..ctor(DataAdapter adapter, DataSet dataset, DataTable datatable, DataReaderContainer dataReader, Boolean keyInfo, SchemaType schemaType, String sourceTableName, Boolean gettingData, DataColumn parentChapterColumn, Object parentChapterValue)
at System.Data.Common.DataAdapter.FillMappingInternal(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 schemaCount, DataColumn parentChapterColumn, Object parentChapterValue)
at System.Data.Common.DataAdapter.FillMapping(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 schemaCount, DataColumn parentChapterColumn, Object parentChapterValue)
at System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
at System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
at System.Data.Common.LoadAdapter.FillFromReader(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
at System.Data.DataTable.Load(IDataReader reader, LoadOption loadOption, FillErrorEventHandler errorHandler)
at PostgresTextFieldTest1.Form1.simpleButton5_Click(Object sender, EventArgs e) in C:\Users\dsaracini\Documents\Visual Studio 2008\Projects\Testing\PostgresTextFieldTest1\PostgresTextFieldTest1\Form1.cs:line 220
at System.Windows.Forms.Control.OnClick(EventArgs e)
at DevExpress.XtraEditors.BaseButton.OnClick(EventArgs e)
at DevExpress.XtraEditors.BaseButton.OnMouseUp(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at DevExpress.Utils.Controls.ControlBase.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at PostgresTextFieldTest1.Program.Main() in C:\Users\dsaracini\Documents\Visual Studio 2008\Projects\Testing\PostgresTextFieldTest1\PostgresTextFieldTest1\Program.cs:line 18
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()


Please let me know if I'm doing something stupid here... or if there is another way to accomplish this task. Ultimately, what I want to do is to return data from multiple queries with only "one round trip".

Thanks in advance.
by dsaracini
Wed 11 Mar 2009 17:04
Forum: dotConnect for PostgreSQL
Topic: Multiple insert statements with protocol 3
Replies: 53
Views: 9878

Thank you for your efforts. I'll look forward to the reply.
by dsaracini
Tue 10 Mar 2009 20:15
Forum: dotConnect for PostgreSQL
Topic: Multiple insert statements with protocol 3
Replies: 53
Views: 9878

Multiple insert statements with protocol 3

Hello,

Are there any plans to support multiple insert statements with protocol 3 in the future?

If so, please give me some idea when this might happen (next release? near future? distant future? no plans?)

If not, please give me some idea how I could accomplish the following with only 1 "round-trip" from the client to the server and using protocol 3...


insert into foo(foo_name) values ("John") returning id;
insert into foo(foo_name) values ("Tim") returning id;

Note: I have tested the above with pgAdmin III and done a network capture via WireShark and examined the packets. pgAdmin seems to definitely be using protocol 3 and all of my inserts are contained in a single packet sent to the server and all of the "returned" ids come back in a single packet also. So, it definitely seems possible. However, I've been unable to make this work with protocol 3 and pgSqlCommand.

Note2: the above does work with pgSqlCommand and pgSqlConnection and protocol 2.

Thanks in advance...

David
by dsaracini
Thu 05 Mar 2009 18:55
Forum: dotConnect for PostgreSQL
Topic: DBMonitor does not see my process
Replies: 5
Views: 3063

Hello,

I have done as you asked and still no luck. Steps I performed:

* Uninstalled dbMonitor 2.14 (it seemed to be successful)
* Re-installed dbMonitor 2.14
* I ran dbMonitor - it runs successfully
* Create a new, WinForm-based application
* dropped 5 controls on the main form (pgSqlMonitor, pgSqlConnection, pgSqlCommand, a button, a devexpress xtragrid)
* I set the property "IsActive" to true (devenv.exe immediately shows up in DBMonitor)
* On the button click event, I add code to make sure the "IsActive" property is true and ExecuteReader()
* I run the application. NO new process shows up in DBMonitor. I click the button, and the query runs successfully and I populate data in the grid. Nothing shows in DBMonitor.

Please let me know what else I can do to help you debug this issue.

Thank you for your help!
by dsaracini
Wed 04 Mar 2009 19:49
Forum: dotConnect for PostgreSQL
Topic: DBMonitor does not see my process
Replies: 5
Views: 3063

DBMonitor does not see my process

Hello,

I'm try to use the DBMonitor app. I have downloaded and installed DBMonitor 2.14 and it is running.

I have an application with a pgSQLConnection object and a pgSQLMonitor object "dropped" on the main form. On the form, I have set "IsActive" to true. DBMonitor finds "devenv.exe", but when I run the application (either inside of VS debugger or outside the debugger), it does not find it. I have added code on form load to ensure that pgSQLMonitor.IsActive = true

Environment:
Dev: VS2008 standard
OS: Vista 64bit