|
Possibly because some other application has the files open when SQL Server tries to "activate" the files. For example, Windows indexing tools like Windows Desktop Search or Google Desktop. Try shutting these down and retrying your operation.
"On two occasions, I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question."
--Charles Babbage (1791-1871)
My: Website | Blog
|
|
|
|
|
So I got 2 classes one I wrote to interrogate databases using normal ADO:
Mine:
<br />
SqlConnection myConnection = new SqlConnection(m_sConnectionString);<br />
<br />
SqlCommand myCommand = new SqlCommand(sQuery, myConnection);<br />
myCommand.CommandTimeout = 120;
<br />
myConnection.Open();<br />
<br />
SqlDataReader result = myCommand.ExecuteReader(CommandBehavior.CloseConnection);<br />
<br />
<br />
return result;<br />
Microsoft Way
<br />
SqlDatabase dbSvc = new SqlDatabase(m_sConnectionString);<br />
<br />
DbCommand dbCommand = dbSvc.GetSqlStringCommand(sQuery);<br />
<br />
return ((SqlDataReader)dbSvc.ExecuteReader(dbCommand));<br />
What's faster?
My way:
<br />
SqlConnection myConnection = new SqlConnection(m_sConnectionString);<br />
<br />
SqlCommand myCommand = new SqlCommand(sQuery, myConnection);<br />
myCommand.CommandTimeout = 120;
<br />
SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand);<br />
<br />
DataTable myTable = new DataTable();<br />
myAdapter.Fill(myTable);<br />
<br />
myConnection.Close();<br />
myConnection.Dispose();<br />
myConnection = null;<br />
<br />
return (myTable);<br />
Microsoft Way:
<br />
SqlDatabase dbSvc = new SqlDatabase(m_sConnectionString);<br />
<br />
DbCommand dbCommand = dbSvc.GetSqlStringCommand(sQuery);<br />
<br />
DataTable dtData = null;<br />
DataSet dsData = dbSvc.ExecuteDataSet(dbCommand);<br />
<br />
dtData = dsData.Tables[0];<br />
<br />
return (dtData);<br />
Comments? Ideas?
Al
My eMail control
My Blog
|
|
|
|
|
|
When doing performance tests it is often very difficult to see small difierences on a single operation. I usually try several hundred iterations (accumulating the timing results with each iteration using a high precision timer class that calls QueryPerformanceCounter) and look at the average performance. This smoothes out minor jitter caused by the OS doing stuff, and usually gives a better measure, especially when the individual operation times are small.
We need to graduate from the ridiculous notion that greed is some kind of elixir for capitalism - it's the downfall of capitalism. Self-interest, maybe, but self-interest run amok does not serve anyone. The core value of conscious capitalism is enlightened self-interest.
Patricia Aburdene
|
|
|
|
|
Hi,
I have a ComboBox displays Status values which are three strings set at design-time. They are Active, Suspended, Disabled. Also I have a DataSet named dsUser which contains a DataTable named tblUser. tblUser has a DataColumn named Status. I navigate through the record in tblUser using a BindingNavigator and a BindingSource component which are automatically created for me by the designer. If I bind the SelectedItem property to tblUserBindingSource´s Status filed, everytime I move from one record to another fires OnColumnChanged event for the Status column. That makes DataRow modified although in fact, it is not modified so when I use dsUser.HasChanges(), it always returns true. How can I prevent this problem? On FormClosing event, I want to ask the user to save changes if tblUser is modified but this wrong firing makes it always modified wrongly. Please help!!!!!!!!!
|
|
|
|
|
Not sure if I have the right forum but really stuck and in need of help.
Problem: I have an SQL Server Table containing records. I load these records into a recordset. I then create a DBF Table. After creation I now want to load the SQL Records into the newly created DBF table. Simple enough but I keep getting errors. Here is my code:
<br />
'Create Table<br />
cnn.Open( _<br />
"Provider=Microsoft.Jet.OLEDB.4.0;" & _<br />
"Data Source=C:\;" & _<br />
"Extended Properties=dBase III;")<br />
<br />
strSQL = "CREATE TABLE Test" & _<br />
"(ID Text(50),")<br />
<br />
'Create Connection<br />
conn2 = CreateObject("ADODB.Connection")<br />
conn2.Open("Provider=Microsoft.Jet.OLEDB.4.0;" & _<br />
"Data Source=" & Path & ";" & _<br />
"Extended Properties=""DBASE III;"";")<br />
-<br />
-<br />
rs2 = conn2.Execute("SELECT * FROM Test")<br />
<br />
' Create Connection To SQL<br />
-<br />
-<br />
rss2.OpenRecordSet("SELECT * FROM SQL_Table")<br />
<br />
'Portion that gives a problem.<br />
<br />
While Not rss2.EOF<br />
rs2.AddNew()<br />
rs2.Fields("ID").Value = rss2!ID<br />
rs2.Update()<br />
rss2.MoveNext()<br />
End While<br />
<-/code><br />
<br />
All of the connections work. The table is created. Now I have a problem transferring the recordsets from the SQL Recordset to the DBF. An error says: "Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype."<br />
<br />
Any way to fix this using the existing code? Any help is REALLY appreciated. Thanks in advance.
|
|
|
|
|
OpenRecordSet has some additional parameters for type, options,etc. Not sure what the defaults might be for DBASE provider,(access would be forwardonly, readonly) but you might not have a recordset that supports updates. This is particularly likely with a recordset opened with Connection.Execute().
Try opening a recordeset on the DBASE table by createing a new Recordset object, opening it with
Rsnew.Open("select * from Test", conn2, adOpenDynamic,adLockOptimistic,adCmdText)
We need to graduate from the ridiculous notion that greed is some kind of elixir for capitalism - it's the downfall of capitalism. Self-interest, maybe, but self-interest run amok does not serve anyone. The core value of conscious capitalism is enlightened self-interest.
Patricia Aburdene
|
|
|
|
|
That would make sense. I tried the code you supplied, but had an error, those three objects are not declared. I assume I need to add a reference. I am using Visual Studios 2005. Any idea which reference it is? Or how to declare "adOpenDynamic,adLockOptimistic,adCmdText" ? - Thanks again.
|
|
|
|
|
If you are using .Net, you should use System.Data.OleDb class, rather than the "old" ado stuff.
I suspect you must have added a reference to msado.dll in order to get the Ado classes, probably need some of the other dlls to get the enumerations exposed( or they're there but need the enumeration prefix - CursorType.adDynamic, etc.)
Use SqlClient classes for SQL Server, they're much faster than the OleDb (although you can use either for SQL, just a bit more overhead in the oleDb.
We need to graduate from the ridiculous notion that greed is some kind of elixir for capitalism - it's the downfall of capitalism. Self-interest, maybe, but self-interest run amok does not serve anyone. The core value of conscious capitalism is enlightened self-interest.
Patricia Aburdene
|
|
|
|
|
hi all,
i want to take backup my database with query. pls help
and give me query
vipin
|
|
|
|
|
I assume your using SQL Server 2000
Construct a DTS package that will do the backup.
This can be run with TSQL
Example below of running a DTS package via TSQL
exec master.dbo.xp_cmdshell 'dtsrun -E -Sserver1 -N"Export Invoices"'
Google has lots of examples on how to do this.
Look where you want to go not where you don't want to crash.
Bikers Bible
|
|
|
|
|
You can use BACKUP[^]
"On two occasions, I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question."
--Charles Babbage (1791-1871)
My: Website | Blog
|
|
|
|
|
Hi
I want to use a blank (empty string but not null) as a default value for varchar column in SQL server 2000. Is this possible and if it is, how do I do it (in Enterprise Manager if possible)?
Just so that I don’t get a lot of why do you want to do that answers. The underlying data access layer I use need blank values or it won’t create a correct xml files.
Thanks
Johan
|
|
|
|
|
Simply use "Create table Table1(col1 int, col2 varchar default ' ')
Ramya
-- modified at 5:53 Friday 12th May, 2006
|
|
|
|
|
hertz_j wrote: in Enterprise Manager if possible)
In the Columns Property Page put SPACE(0) as the Default Value.
----------
There go my people. I must find out where they are going so I can lead them.
- Alexander Ledru-Rollin
|
|
|
|
|
Hi Eric,
I'll try that, thank you.
|
|
|
|
|
I want to use a dataset that can work with different database(Access, Sql Server, MySql, Postegre etc..) using an ODBC connection. My application must be database indipendent. If it's possibile, how can I do?
|
|
|
|
|
armax75 wrote: I want to use a dataset that can work with different database
DataSets are database agnostic. That means they don't care what the database is. In fact, they don't know anything about the database. It is the job of the DataAdapter to marshal data between the database and the DataSet.
armax75 wrote: My application must be database indipendent.
Yes, you can use the solution I proposed to you below. There an example of something quite similar in DotNetNuke if you want to see the idea in practice.
An alternative would be to look in to something like NHibernate[^]
"On two occasions, I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question."
--Charles Babbage (1791-1871)
My: Website | Blog
|
|
|
|
|
I enter an error(deliberate) in a connection string like a missing password for non-windows logon to SQL 2005 in my VB.NET program.
No matter I set the FireInfoMessageEventOnUserErrors to true or false and add
a handler to handle the SQLClnt's InfoMessage. But this procedure never gets
fired, only the SQLClient's SQLException error is picked up in the try--catch block and the ExceptionAssistnat shows up.
When does the
FireInfoMessageEventOnUserError really gets to be evaluated?
|
|
|
|
|
It is only fired for informational or warning messages, not errors.
We need to graduate from the ridiculous notion that greed is some kind of elixir for capitalism - it's the downfall of capitalism. Self-interest, maybe, but self-interest run amok does not serve anyone. The core value of conscious capitalism is enlightened self-interest.
Patricia Aburdene
|
|
|
|
|
Is it not true that it is related to the severity of errors, exception reporting taking over in exceptionally severe cases?
|
|
|
|
|
No, it is used only for informational or warning messages. All errors will raise an exception.
We need to graduate from the ridiculous notion that greed is some kind of elixir for capitalism - it's the downfall of capitalism. Self-interest, maybe, but self-interest run amok does not serve anyone. The core value of conscious capitalism is enlightened self-interest.
Patricia Aburdene
|
|
|
|
|
Hey...In my coding...
I need a randomalphanumeric generator code...for a field in form1.aspx..This will be inserted as a primary key information in my database table...
If i implement randomalphanumeric generator it should be unique value..Plz help as soon as possible
the generated random alphanumeric string should be something like
TX12YZ57 format...
|
|
|
|
|
You can use GUID.NewGuid() if you are using c#/Vb.net
or
If you use sql server,GUID data type can be used
|
|
|
|
|