|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
What I want in ADO.NET 3.0I think the following would be a gigantic help for a lot of people (all being standard calls so we do not have to write selects on a per vendor basis): 1. Enumerate servers works for all ADO.NET clients (ie - it's a required feature). 2. For a given server - enumerate all databases (schemas in Oracle's case). 3. For a given database/schema - enumerate all tables, views, and stored procedures - can filter by user vs system ones. 4. For a table/view - get all columns. 5. Get an autocreated primary key from an insert. 6. Create a connection string form standard parameters (server, database, uname/pw or truested). 7. Run a script (to create a database, etc). The script would be vendor specific but being able to just pass in a script would be very useful. 8. Enumerate all users in a database, create a user, assign a user to a created database. (I know this one may be a bit more than is doable yet.) -- thanks - dave david_at_windward_dot_net http://www.windwardreports.com Cubicle Wars - http://www.windwardreports.com/film.htm Hi David,
Show quote "David Thielen" <thielen@nospam.nospam> wrote in message All of the above depend on the provider, specially enumeration of servers.news:E79963DF-BD1A-4FF1-8A2C-B94135A4FC3A@microsoft.com... > Hi; > > I think the following would be a gigantic help for a lot of people (all > being standard calls so we do not have to write selects on a per vendor > basis): > > 1. Enumerate servers works for all ADO.NET clients (ie - it's a required > feature). > 2. For a given server - enumerate all databases (schemas in Oracle's > case). > 3. For a given database/schema - enumerate all tables, views, and stored > procedures - can filter by user vs system ones. > 4. For a table/view - get all columns. Also, there is DbConneciton.GetSchema where you can find 2-4. > 5. Get an autocreated primary key from an insert. Depends on the database.> 6. Create a connection string form standard parameters (server, database, Depends on the provider. There are already Sql, Oracle, OleDb and Odbc > uname/pw or truested). ConnectionStringBuilders. > 7. Run a script (to create a database, etc). The script would be vendor A script is usually a bunch of sql statements you can execute using > specific but being able to just pass in a script would be very useful. DbCommand class. > 8. Enumerate all users in a database, create a user, assign a user to a You have resort to database specific voodoos as each database treats them > created database. (I know this one may be a bit more than is doable yet.) differently. BTW, perhaps a better place (there are MS guys partecipating) to discuss ado.net 3 features is here: http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=533&SiteID=1 -- Miha Markic [MVP C#, INETA Country Leader for Slovenia] RightHand .NET consulting & development www.rthand.com Blog: http://cs.rthand.com/blogs/blog_with_righthand/ Hi;
On 2 - 4 I've tried that and it works in some cases but it's not something you can depend on. And the documentation is non-existent on what to pass in so it takes a ton of guesswork. -- Show quotethanks - dave david_at_windward_dot_net http://www.windwardreports.com Cubicle Wars - http://www.windwardreports.com/film.htm "Miha Markic [MVP C#]" wrote: > Hi David, > > "David Thielen" <thielen@nospam.nospam> wrote in message > news:E79963DF-BD1A-4FF1-8A2C-B94135A4FC3A@microsoft.com... > > Hi; > > > > I think the following would be a gigantic help for a lot of people (all > > being standard calls so we do not have to write selects on a per vendor > > basis): > > > > 1. Enumerate servers works for all ADO.NET clients (ie - it's a required > > feature). > > 2. For a given server - enumerate all databases (schemas in Oracle's > > case). > > 3. For a given database/schema - enumerate all tables, views, and stored > > procedures - can filter by user vs system ones. > > 4. For a table/view - get all columns. > > All of the above depend on the provider, specially enumeration of servers. > Also, there is DbConneciton.GetSchema where you can find 2-4. > > > 5. Get an autocreated primary key from an insert. > > Depends on the database. > > > 6. Create a connection string form standard parameters (server, database, > > uname/pw or truested). > > Depends on the provider. There are already Sql, Oracle, OleDb and Odbc > ConnectionStringBuilders. > > > 7. Run a script (to create a database, etc). The script would be vendor > > specific but being able to just pass in a script would be very useful. > > A script is usually a bunch of sql statements you can execute using > DbCommand class. > > > 8. Enumerate all users in a database, create a user, assign a user to a > > created database. (I know this one may be a bit more than is doable yet.) > > You have resort to database specific voodoos as each database treats them > differently. > > BTW, perhaps a better place (there are MS guys partecipating) to discuss > ado.net 3 features is here: > http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=533&SiteID=1 > > -- > Miha Markic [MVP C#, INETA Country Leader for Slovenia] > RightHand .NET consulting & development www.rthand.com > Blog: http://cs.rthand.com/blogs/blog_with_righthand/ > You should check out OleDb's (native, not .net) provider similar method - it
takes same parameters and spits out same data. -- Show quoteMiha Markic [MVP C#, INETA Country Leader for Slovenia] RightHand .NET consulting & development www.rthand.com Blog: http://cs.rthand.com/blogs/blog_with_righthand/ "David Thielen" <thielen@nospam.nospam> wrote in message news:B5D2F0D3-9EFC-4EA5-8C5C-ED56EF8E49C2@microsoft.com... > Hi; > > On 2 - 4 I've tried that and it works in some cases but it's not something > you can depend on. And the documentation is non-existent on what to pass > in > so it takes a ton of guesswork. > > -- > thanks - dave > david_at_windward_dot_net > http://www.windwardreports.com > > Cubicle Wars - http://www.windwardreports.com/film.htm > > > > > "Miha Markic [MVP C#]" wrote: > >> Hi David, >> >> "David Thielen" <thielen@nospam.nospam> wrote in message >> news:E79963DF-BD1A-4FF1-8A2C-B94135A4FC3A@microsoft.com... >> > Hi; >> > >> > I think the following would be a gigantic help for a lot of people (all >> > being standard calls so we do not have to write selects on a per vendor >> > basis): >> > >> > 1. Enumerate servers works for all ADO.NET clients (ie - it's a >> > required >> > feature). >> > 2. For a given server - enumerate all databases (schemas in Oracle's >> > case). >> > 3. For a given database/schema - enumerate all tables, views, and >> > stored >> > procedures - can filter by user vs system ones. >> > 4. For a table/view - get all columns. >> >> All of the above depend on the provider, specially enumeration of >> servers. >> Also, there is DbConneciton.GetSchema where you can find 2-4. >> >> > 5. Get an autocreated primary key from an insert. >> >> Depends on the database. >> >> > 6. Create a connection string form standard parameters (server, >> > database, >> > uname/pw or truested). >> >> Depends on the provider. There are already Sql, Oracle, OleDb and Odbc >> ConnectionStringBuilders. >> >> > 7. Run a script (to create a database, etc). The script would be vendor >> > specific but being able to just pass in a script would be very useful. >> >> A script is usually a bunch of sql statements you can execute using >> DbCommand class. >> >> > 8. Enumerate all users in a database, create a user, assign a user to a >> > created database. (I know this one may be a bit more than is doable >> > yet.) >> >> You have resort to database specific voodoos as each database treats them >> differently. >> >> BTW, perhaps a better place (there are MS guys partecipating) to discuss >> ado.net 3 features is here: >> http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=533&SiteID=1 >> >> -- >> Miha Markic [MVP C#, INETA Country Leader for Slovenia] >> RightHand .NET consulting & development www.rthand.com >> Blog: http://cs.rthand.com/blogs/blog_with_righthand/ >> Yes we used that and that got us quite a ways. But it's not 100% from what we
have seen. I think it was DB2 where it wasn't returning stored procedures and views - or something like that. -- Show quotethanks - dave david_at_windward_dot_net http://www.windwardreports.com Cubicle Wars - http://www.windwardreports.com/film.htm "Miha Markic [MVP C#]" wrote: > You should check out OleDb's (native, not .net) provider similar method - it > takes same parameters and spits out same data. > > -- > Miha Markic [MVP C#, INETA Country Leader for Slovenia] > RightHand .NET consulting & development www.rthand.com > Blog: http://cs.rthand.com/blogs/blog_with_righthand/ > > "David Thielen" <thielen@nospam.nospam> wrote in message > news:B5D2F0D3-9EFC-4EA5-8C5C-ED56EF8E49C2@microsoft.com... > > Hi; > > > > On 2 - 4 I've tried that and it works in some cases but it's not something > > you can depend on. And the documentation is non-existent on what to pass > > in > > so it takes a ton of guesswork. > > > > -- > > thanks - dave > > david_at_windward_dot_net > > http://www.windwardreports.com > > > > Cubicle Wars - http://www.windwardreports.com/film.htm > > > > > > > > > > "Miha Markic [MVP C#]" wrote: > > > >> Hi David, > >> > >> "David Thielen" <thielen@nospam.nospam> wrote in message > >> news:E79963DF-BD1A-4FF1-8A2C-B94135A4FC3A@microsoft.com... > >> > Hi; > >> > > >> > I think the following would be a gigantic help for a lot of people (all > >> > being standard calls so we do not have to write selects on a per vendor > >> > basis): > >> > > >> > 1. Enumerate servers works for all ADO.NET clients (ie - it's a > >> > required > >> > feature). > >> > 2. For a given server - enumerate all databases (schemas in Oracle's > >> > case). > >> > 3. For a given database/schema - enumerate all tables, views, and > >> > stored > >> > procedures - can filter by user vs system ones. > >> > 4. For a table/view - get all columns. > >> > >> All of the above depend on the provider, specially enumeration of > >> servers. > >> Also, there is DbConneciton.GetSchema where you can find 2-4. > >> > >> > 5. Get an autocreated primary key from an insert. > >> > >> Depends on the database. > >> > >> > 6. Create a connection string form standard parameters (server, > >> > database, > >> > uname/pw or truested). > >> > >> Depends on the provider. There are already Sql, Oracle, OleDb and Odbc > >> ConnectionStringBuilders. > >> > >> > 7. Run a script (to create a database, etc). The script would be vendor > >> > specific but being able to just pass in a script would be very useful. > >> > >> A script is usually a bunch of sql statements you can execute using > >> DbCommand class. > >> > >> > 8. Enumerate all users in a database, create a user, assign a user to a > >> > created database. (I know this one may be a bit more than is doable > >> > yet.) > >> > >> You have resort to database specific voodoos as each database treats them > >> differently. > >> > >> BTW, perhaps a better place (there are MS guys partecipating) to discuss > >> ado.net 3 features is here: > >> http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=533&SiteID=1 > >> > >> -- > >> Miha Markic [MVP C#, INETA Country Leader for Slovenia] > >> RightHand .NET consulting & development www.rthand.com > >> Blog: http://cs.rthand.com/blogs/blog_with_righthand/ > >> > Yes, I agree that it is a hassle and one have to do some tests to see what
it actually returns.. -- Show quoteMiha Markic [MVP C#, INETA Country Leader for Slovenia] RightHand .NET consulting & development www.rthand.com Blog: http://cs.rthand.com/blogs/blog_with_righthand/ "David Thielen" <thielen@nospam.nospam> wrote in message news:A3CFFE5F-4411-4ED0-8D9A-98D943A2B592@microsoft.com... > Yes we used that and that got us quite a ways. But it's not 100% from what > we > have seen. I think it was DB2 where it wasn't returning stored procedures > and > views - or something like that. > > -- > thanks - dave > david_at_windward_dot_net > http://www.windwardreports.com > > Cubicle Wars - http://www.windwardreports.com/film.htm > > > > > "Miha Markic [MVP C#]" wrote: > >> You should check out OleDb's (native, not .net) provider similar method - >> it >> takes same parameters and spits out same data. >> >> -- >> Miha Markic [MVP C#, INETA Country Leader for Slovenia] >> RightHand .NET consulting & development www.rthand.com >> Blog: http://cs.rthand.com/blogs/blog_with_righthand/ >> >> "David Thielen" <thielen@nospam.nospam> wrote in message >> news:B5D2F0D3-9EFC-4EA5-8C5C-ED56EF8E49C2@microsoft.com... >> > Hi; >> > >> > On 2 - 4 I've tried that and it works in some cases but it's not >> > something >> > you can depend on. And the documentation is non-existent on what to >> > pass >> > in >> > so it takes a ton of guesswork. >> > >> > -- >> > thanks - dave >> > david_at_windward_dot_net >> > http://www.windwardreports.com >> > >> > Cubicle Wars - http://www.windwardreports.com/film.htm >> > >> > >> > >> > >> > "Miha Markic [MVP C#]" wrote: >> > >> >> Hi David, >> >> >> >> "David Thielen" <thielen@nospam.nospam> wrote in message >> >> news:E79963DF-BD1A-4FF1-8A2C-B94135A4FC3A@microsoft.com... >> >> > Hi; >> >> > >> >> > I think the following would be a gigantic help for a lot of people >> >> > (all >> >> > being standard calls so we do not have to write selects on a per >> >> > vendor >> >> > basis): >> >> > >> >> > 1. Enumerate servers works for all ADO.NET clients (ie - it's a >> >> > required >> >> > feature). >> >> > 2. For a given server - enumerate all databases (schemas in Oracle's >> >> > case). >> >> > 3. For a given database/schema - enumerate all tables, views, and >> >> > stored >> >> > procedures - can filter by user vs system ones. >> >> > 4. For a table/view - get all columns. >> >> >> >> All of the above depend on the provider, specially enumeration of >> >> servers. >> >> Also, there is DbConneciton.GetSchema where you can find 2-4. >> >> >> >> > 5. Get an autocreated primary key from an insert. >> >> >> >> Depends on the database. >> >> >> >> > 6. Create a connection string form standard parameters (server, >> >> > database, >> >> > uname/pw or truested). >> >> >> >> Depends on the provider. There are already Sql, Oracle, OleDb and Odbc >> >> ConnectionStringBuilders. >> >> >> >> > 7. Run a script (to create a database, etc). The script would be >> >> > vendor >> >> > specific but being able to just pass in a script would be very >> >> > useful. >> >> >> >> A script is usually a bunch of sql statements you can execute using >> >> DbCommand class. >> >> >> >> > 8. Enumerate all users in a database, create a user, assign a user >> >> > to a >> >> > created database. (I know this one may be a bit more than is doable >> >> > yet.) >> >> >> >> You have resort to database specific voodoos as each database treats >> >> them >> >> differently. >> >> >> >> BTW, perhaps a better place (there are MS guys partecipating) to >> >> discuss >> >> ado.net 3 features is here: >> >> http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=533&SiteID=1 >> >> >> >> -- >> >> Miha Markic [MVP C#, INETA Country Leader for Slovenia] >> >> RightHand .NET consulting & development www.rthand.com >> >> Blog: http://cs.rthand.com/blogs/blog_with_righthand/ >> >> >> Hi Dave
According to your description, I understand that you have some suggestions on ADO.net and look forward to the next version of ADO.net (3.0) incorporating these features. If I misunderstood anything here, please don't hesitate to correct me. Thanks for your feedback. As you mentioned, ADO.net 2.0 is not as smart as we expected and there are some known issues when it is used to connect to Oracle and DB2. But I think our product team must be working hard to resolve these issues. Any suggestions from our customers will be appreciated Would you mind submitting this feedback to our product feedback center, http://connect.microsoft.com/site/sitehome.aspx?SiteID=210, so that our development team can get it from there. If there is anything I can help with, please feel free to reply me. We will follow up. I'm glad to work with you. Best regards, Wen Yuan |
|||||||||||||||||||||||