|
From what I have read connecting to the sysdatabases is bad practice as these can change. After a little more research I discovered that in 2.0 there is a connection.getschema method that will return a datatable of the schema of the server. Furthermore, this takes various parameters and to get the database I just have to pass it a string "Databases" to get a table of database names. Rather nifty, maybe Ill write an article.
Aaron
_____________________________________________________________________
Our developers never release
code. Rather, it tends to escape, pillaging the countryside all around.
The Enlightenment Project (paraphrased comment)
Visit Me at GISDevCafe
|
|
|
|
|
USE master<br />
SELECT * FROM sysdatabases WHERE name='DatabaseName'
|
|
|
|
|
Except that way is deprecated in SQL Server 2005 and exists for compatibility with SQL Server 2000.
|
|
|
|
|
Figured it out. With 2005 and .net 2.0 there is a nifty little getSchema method that belongs to the connection property. I can pass it in the parameter "Databases" and it will return a list of databases. Actually rather handy as there are all sorts of information that can be converted to a datatable and iterated through.
Thanks
_____________________________________________________________________
Our developers never release
code. Rather, it tends to escape, pillaging the countryside all around.
The Enlightenment Project (paraphrased comment)
Visit Me at GISDevCafe
|
|
|
|
|
I am developing a web application in c# using visual web developer express.
my database is in SQL server 2000
i created a connection string
<connectionStrings>
<add name="diag" connectionString="Data Source=local;Initial Catalog=diag;Integrated Security=SSPI"/>
</connectionStrings>
then to retrieve in the .cs file i wrote
string connString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["diag"].ConnectionString;
SqlConnection conn = new SqlConnection(connString);
but on compilation i get an error.
An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
Kunal Piyush
|
|
|
|
|
are we not supposed to mention the uid and pwd too i the connection string???
Gautham
|
|
|
|
|
where shud i incorporate the user id and the password.. i checked the machine.config file and cud not find any parameter for the same
moreover the error it is showing is related to sql server 2005.. i am using sql server 2000
Kunal Piyush
|
|
|
|
|
try out by stopping sql 2005 services, may be its because you have both versions installed in your comp??
Gautham
|
|
|
|
|
i m dead sure that i do not have sql 2005 on my comp.. i never installed it.. and double checked it with the control panel..
i only have sql server 2000..now how do i configure to use it with sql 2000
Kunal
|
|
|
|
|
You do not need a user id and password if you specify a secure logon.
_____________________________________________________________________
Our developers never release
code. Rather, it tends to escape, pillaging the countryside all around.
The Enlightenment Project (paraphrased comment)
Visit Me at GISDevCafe
|
|
|
|
|
Not if you are using integrated security
only two letters away from being an asset
|
|
|
|
|
Is the server you're trying to connect to called local ? If you want to connect to the local computer (i.e. the one that the client code is running on), you must specify (local) , i.e. with the parentheses.
Specifying (local) also causes the shared memory 'network' library to be used, which can be beneficial if the server does not permit remote connections.
|
|
|
|
|
thanks a lot..
the thing worked..
thats wat i changed
<add name="LocalSqlServer" connectionstring="Data Source=(local);Initial Catalog=diag;Integrated Security=true;" providername="System.Data.SqlClient">
thanks again.
Kunal
|
|
|
|
|
Does any one knows how many records can be inserted/fetched to datatable with in dataset ? I am getting few millions of records from oracle database, and when I use DataAdapter.Fill(dataset) method or Dataset.Tables.Rows.Add(datarow) method i get
"Exception of type System.OutOfMemoryException was thrown." Does any one has idea on this ?
Srinath
|
|
|
|
|
btsrinath wrote: Does any one knows how many records can be inserted/fetched to datatable with in dataset ?
~2 billion or the limitations of your computer's memory, which ever comes first.
btsrinath wrote: I am getting few millions of records from oracle database
Do you really need a few million rows? What exactly are you going to do with all that information on the client?
btsrinath wrote: i get
"Exception of type System.OutOfMemoryException was thrown." Does any one has idea on this ?
Looks like you've run out of memory.
|
|
|
|
|
Thank you.
I need to process all these records. Just Imagine for every 50 records from Table1, I need to insert 1 record to Table2. There are calculation to be done on these 50 records first and then I have to insert that into database. For getting 7000 records from DB it takes ~1hr 20mins. So you can just Imagine how many records are there in DB. Instead of processing these on DB using proc, I thought bringing the records on client side and processing them would reduce load on DB.
If I regularly update the dataset and data adapter by methods AcceptChanges and Update methods resepectively would the memory usage would reduce ?
Can please suggest an good way of solving my problem ?
Srinath
|
|
|
|
|
btsrinath wrote: For getting 7000 records from DB it takes ~1hr 20mins. So you can just Imagine how many records are there in DB.
Or (possibly) how poorly configured the indexes are.
btsrinath wrote: If I regularly update the dataset and data adapter by methods AcceptChanges and Update methods resepectively would the memory usage would reduce ?
Unlikely. As a general rule I simply don't use DataSets becuase of the memory overheads. I only use them for coding things in a quick and dirty way where speed of coding is preferred.
btsrinath wrote: Can please suggest an good way of solving my problem ?
If you are doing any complex joins, judicious use of the tempDB can improve performance. Pulling data in to temp tables then performing Joins between these temp tables with a fraction of the rows is much faster than the same join on the original table. A few years ago I speeded up a query that was taking 20+ minutes down to 7 seconds this way. (There were billions of rows in the table, but my calculation only required joining a few thousand of them)
However, without knowing more about what you are doing any advice I give may be completely useless to you.
|
|
|
|
|
You should really look at your data. I would try and find some way to query just a fraction of the data from the database. Often these issues can be solved by looking at your database from another angle. How many records at a time are you processing, can they be processed in smaller batches?
Really look at your data.
Also, you might want to try and right the results back to the main db from time to time, anything to free up resources. It sounds like you are trying to do too much at one time.
I hope this helps.
_____________________________________________________________________
Our developers never release
code. Rather, it tends to escape, pillaging the countryside all around.
The Enlightenment Project (paraphrased comment)
Visit Me at GISDevCafe
|
|
|
|
|
If you are processing one record at a time, ie. 1 million customer orders, use a data reader to scan through and a forward only manner using less memory.
If you are using aggregate results SQL is a powerful language designed to work on large sets of data very efficiently.
Last note: if you have to work with large chucks of data in memory find a natural divider and use smaller sets.
File Not Found
|
|
|
|
|
I need to open an Excel file that has been stored in the Access Database using the insert Object functionality of MSAccess manually.
What i am aware of is that i cant just read the field containing the Excel File into a Byte Array and pass it to the Excel object in C#,as the file is wrapped in the OLE Wrapper used by Access while inserting the file in database.
I have tried locating the Header of Excel file from the byte array and read the file from there on but it is not working.
Can some one please tell me as to how i can open the Excel File.
|
|
|
|
|
Shaurya_Rastogi wrote: I need to open an Excel file that has been stored in the Access Database using the insert Object functionality of MSAccess manually.
I'm not sure I know what you mean by, "...insert Object functionally of MSAccess..."
I'm aware of 'Insert-->Object' in Excel, but the only thing I can think of in Access that is even close is the OLE datatype.
“Some have an idea that the reason we in this country discard things so readily is because we have so much. The facts are exactly opposite - the reason we have so much is simply because we discard things so readily. We replace the old in return for something that will serve us better.”--Alfred P. Sloan
|
|
|
|
|
:(Please anybody help me,
i m having leavedate column in my employee database,
Currently working employee's leave date may be empty,
it is not having problem when i m inserting row into databse with empty leavedate
but when i m going to fill record in my vb.net (winforms) form , it is giving me following error->
Conversion from type 'MySqlDateTime' to type 'Date' is not valid.
I am using datareader to read each value.
Please help me soon.
-Thanks for any help in advance.
priya
|
|
|
|
|
Check the value before trying to convert it. Any column that has a null value will be DBNull.Value
|
|
|
|
|
I have a populated data set (loaded from an XML file) that I want to put in a SQL database.
Most of the tables in the DataSet are related, so I can't use a DataAdapter to update because I don't know the update order.
All the examples I've seen about updating an SQL database only target one table or know the 'reverse-order' in which to update.
Is there an easy way to store a .NET multi-table DataSet to a SQL database.
|
|
|
|
|
If you are using sql 2005 server then you could look at SqlServer Management objects(SMO)
transfer<code> method. This will allow you to move the whole schema and tables over at one time. SMO is not always the easiest to implement, but with a little monkeying around you should be able to get it to work. Check out an article I posted a couple weeks ago to get started, as well as search the site for SMO. There are not allot of resources on it but it might help.<br />
<br />
Aaron <br />
<br />
<div class="ForumSig">_____________________________________________________________________<br />
<br />
Our developers never release <br />
code. Rather, it tends to escape, pillaging the countryside all around.<br />
<br />
The Enlightenment Project (paraphrased comment)<br />
<br />
Visit Me at <a href="http://www.gisdevcafe.com" rel="nofollow">GISDevCafe</a></div>
|
|
|
|