|
Use backup and restore going from 2005->2008. You cannot reverse the process using this method.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
As Mycroft said, you can upgrade, but not downgrade. Restore the older version database to a newer version instance, or detach from the old version and attach to the new version.
Be aware that backup formats changed between SQL2008 and SQL2008 R2, which can cause incompatibilities
=========================================================
I'm an optoholic - my glass is always half full of vodka.
=========================================================
|
|
|
|
|
You could export it - dump it as sql statements rather than as a back up.
If the exported sql was fairly simple then it would work in either database. It is possible that it would require some modification to go from 2008 to 2005.
|
|
|
|
|
I am using Sql Server 2017 with Transact and a file with synonyms in FTData. I have found several serious flaws and problems but in the Microsoft MSDN forum and in Microsoft connect no one answers me. The rest of the people say they do not know how it works.
Video: https://youtu.be/Il7-DDKfHiU
Problem 1: Freetexttable Error With More of 3 Words.
I use Freetexttable with thousands of synonyms in a simple query in two Pc. By entering up to 3 words "Microsoft Sql Management Studio" instantly returns the result and the memory remains stable in 6Gb.
If I enter 4 words he is thinking for 10 minutes and the memory consumes until 12Gb. At the start of the video you can see what it takes Sql Server to load the synonyms and every few minutes if Sql Server is not used again it loads them again.
Example:
SELECT [Table].*, FT.* FROM [Table] INNER JOIN FREETEXTTABLE([Table], [Contenido], 'Word1 Word2 Word3') FT ON [Table].Id=FT.[Key] WHERE ([Table].STATE IS NULL OR [Table].STATE = ' ') ORDER BY RANK DESC, Page
Problem 2: Transact does not return the inflections of a word if you do not accent it correctly.
When looking for the inflectional of a word, if I introduce the word with the accent the inflections appear well. The server collation is SQL_Latin1_General_CP1_CI_AI
If I introduce the word without the accent, the inflections do not appear. In Spanish café and cafés are accentuated.
Video: https://youtu.be/4DX-Y3eoDo4
SELECT display_term FROM SYS.DM_FTS_PARSER('FORMSOF(INFLECTIONAL, café)', 3082, 0, 0)
display_term returns: cafes cafe
SELECT display_term FROM SYS.DM_FTS_PARSER('FORMSOF(INFLECTIONAL, cafe)', 3082, 0, 0)
display_term returns: cafe
When doing the same with the synonyms, returns the same results with or without accent.
SELECT display_term FROM SYS.DM_FTS_PARSER('FORMSOF(THESAURUS, cafe)', 3082, 0, 0)
SELECT display_term FROM SYS.DM_FTS_PARSER('FORMSOF(THESAURUS, café)', 3082, 0, 0)
display_term returns: cafe chicoria sucedaneo mezcla chicoria. In Spanish sucedáneo are accentuated.
Note:After making the video I tried to recover the inflections of the word echaré (with and without accent) and returns the inflections well in both cases. So the problem is with some words.
I have found a very interesting example. I use the verb "echar". Among others, it has 2 inflections that are "echaré" and "echaría". If I consult "echaré" with and without an accent, it works well for me and it also returns me between its inflections.
If I consult "echaría" work well with accent and bad without accent.
Video: https://youtu.be/DmfZmzRW4w8
Problem 3: Transact load the synonyms many times.
I have added synonyms and a function that loads them when starting sql server. The problem is that when you make the first consultation you think about 1.5 minutes. Also, if I do not do searches, every so often (it can be 15 minutes) again it seems that it reloads the synonyms, perhaps from tempdb. How is it done to load them once and not delete them from tempdb?
I have this store procedure to load the synonyms at the start of sql server from file:
USE master;
GO
CREATE PROCEDURE Sinonimos
AS
SET NOCOUNT ON;
GO
EXEC sys.sp_fulltext_load_thesaurus_file 3082, @loadOnlyIfNotLoaded = 1;
GO
Activate the store procedure at startup by:
USE master
GO
EXEC sp_procoption @ProcName='Sinonimos', @OptionName = 'startup', @OptionValue = 'on';
GO
Problem 4: You can not protect the synonyms.
I have to install the sql server system on a client but I do not want to leave the .xml file from FTData there with synonyms. Is there a way for the file to load it from a remote URL or can the file be encrypted?
modified 8-Feb-18 7:32am.
|
|
|
|
|
Hello friends!
Could you tell me please how to delete specific data from multiple tables in sql database .
|
|
|
|
|
Very simple:
DELETE FROM table1 WHERE something = somethingelse
DELETE FROM table2 WHERE 1 = 2
DELETE FROM table3 WHERE ...
Everyone is born right handed. Only the strongest overcome it.
Fight for left-handed rights and hand equality.
|
|
|
|
|
I have this function that creates an order. I was missing a couple of things in the columns like weight, cost and profit.
So I wrote this to just grab the cart items to calculate my missing data
List<orders_cart> sC = context.ORDERS_CART.Where(m => m.order_ID == pOrderID).ToList();
But then I came to the ship weight, which I need to get from PRODUCT_INFO.
I forget the nomemclature for my expression above, so I wasn't able to search possibilities.
Possible to do a quick join off sC into another list?
If possible, I would need a little nudge towards getting it right.
Thanks!
If it ain't broke don't fix it
|
|
|
|
|
Presumably you have a navigation property from the cart lines to the product info?
In which case, you should be able to use something like:
context.ORDERS_CART.Include(l => l.Product).Where(... which will load the product details with each line. You can then use the navigation property to access the product details for the line.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
I think I used include in a VB version of a situation that I needed extra details.
Let me give that a spin.
Monday I just looped the cart items and asked for the details and added them.
If it ain't broke don't fix it
|
|
|
|
|
hi,
I need a single qurery which satisfy the muliple dynamic fields get to be updated.
1. I am having the multiple fields in the table and I want to consider only the fieldname contanis "_edt"
2. All the fieldname("_edt") get to be updated as "some value" like "XXX"
Looks like :
set @sql = 'UPDATE r SET ' + c.name = ''XXX'' FROM sys.columns c
INNER JOIN sys.tables t ON c.object_id = t.object_id,Record r
where t.name = ''Record'' and c.name like ''%_edt'''
Please help on this.
Thanks,
Arun
|
|
|
|
|
Something like this should work:
DECLARE @SQL nvarchar(max) = N'';
SELECT
@SQL = @SQL + N', ' + QUOTENAME(name) + N' = @value'
FROM
sys.columns
WHERE
object_id = OBJECT_ID('Record')
And
name Like '%_edit'
;
SET @SQL = Substring(@SQL, 3, LEN(@SQL) - 2);
SET @SQL = N'UPDATE Record SET ' + @SQL;
PRINT @SQL;
EXEC sp_executesql @statement = @SQL,
@params = N'@value varchar(10)',
@value = 'XXX';
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Tnks a lot.. it is working for me
|
|
|
|
|
Boy that was a mouth full. Let me explain.
I have a table of products with names and descriptions. So take a word like kneepads. The correct way to spell it is knee pads and the column contains that correct spelling. But users will type in kneepads to search. I solved the plural issue with a custom function that I wrote.
But I'm wondering if I can query the database in Linq, and say something like without removing, replacing a value in the database
from pr in context.PRODUCT_ITEMS
WHERE pr.Name.Replace(" ", "").Contains("kneepad")
Basically I'm just looking for ideas to handle this.
My older program had another table that contains names and descriptions that were pre-stripped for searching and I really don't want to go back to that.
If it ain't broke don't fix it
|
|
|
|
|
It would be a very slow solution.
Assuming t-sql, I would add a computed column and put an index on it.
|
|
|
|
|
I would suggest holding a table of synonyms, with possible search terms pointing to the actual terms in the product description
=========================================================
I'm an optoholic - my glass is always half full of vodka.
=========================================================
|
|
|
|
|
Add a normal search without the gimmicks and explain that if "kneepads" don't give the correct results, they should search for "knee".
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Guess the original idea I had might be the best. A separate table of straight text with no white spaces and just do a join.
Or maybe a table of words with white space that are parsed out with conjunctions removed and verbs fixed.
Alright Thanks!
If it ain't broke don't fix it
|
|
|
|
|
As I read this you have decided on a solution and now are attempting to implement that.
My take on the problem, not your solution, is that you should investigate it first and then decide on a solution to implement.
Your problem is not new. It has been around for decades and I doubt your solution will work. For starters because it doesn't really deal with misspellings. Not to mention synonyms.
However there are solutions that do work fairly well. So you should see if you can find them first.
|
|
|
|
|
I created an EF6 data context by following this.
I need to change the connection string at runtime. I found this article but my data context does not have an overloaded contstructer:
public partial class MyEntities : DbContext
{
public MyEntities()
: base("name=MyEntities")
{
}
What am I doing wrong? How to I set the EF data Context connection string at runtime??
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
Add the required constructor overloads to your context:
public partial class MyEntities : DbContext
{
public MyEntities() : base("name=MyEntities")
{
}
public MyEntities(string nameOrConnectionString) : base(nameOrConnectionString)
{
}
public MyEntities(DbConnection existingConnection, bool contextOwnsConnection) : base(existingConnection, contextOwnsConnection)
{
}
EDIT: If you're using the .tt file to generate the context from the database, you'll probably need to add the extra overloads in a separate file; that's why the class is declared as partial .
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Hello everybody, i'm writing here because i'm really becoming crazy, i read every kind of internet pages but I'm not able to find a solution but i'm also sure that the solution is behind the corner.
I have an Access database with different tables. The main table has different foreign keys to other tables. I do an example with 2 tables to make the problem easier:
Table Products
Field1 - Primary Key: Product Code - text
Field2: Description - text
Field3: Product Type - integer
Table ProductTypes
Field1: Primary Key - ID - integer - FK on Field3 of "Table Product"
Field2: Description - Text
Now, I open Visual Studio, I add my database and I drag&drop the table "Product" on my Windows Form as a DatagridView. The wizard create for me, the tableAdapter, bindinsource ecc....
If I start my app the DatagridView is populate with the correct data but in the column "Product Type" I see the number from the PK of the table "ProductTypes" while I'd like to see the Description.
I created a new TableAdapter query that give me the result i want to see but when I confirm I get the message that i'm created a query that give a different result from the original schema. If I continue the query is created but i'm not able to retrieve data using this new query.
THe only way I've to retrieve datas as I want is to modify the original Fill query but in this case the relation between the 2 tables will be removed and also the TableAdapter Insert method will be removed.
So, I will see the data in datagridview as i'd like to see but I don't have anymore the insert method.
Can someone help me by telling I could I retrieve the data in the way I desider without losing the chance to insert new record in the table?
Thanks
Giacomo
|
|
|
|
|
Can you create a view in Access and use the view?
|
|
|
|
|
Yes, I already did it.
I created a View in Access and then I imported it in my Dataset. In this way I'm able to show the correct data in my DataGridView but the Wizard didn't create for me the Insert, Delete and Update method.
Do you think I could be able to update the Access database through the view?
|
|
|
|
|
A view will only let you see the data.
It has been so long since I used Access I can't help you on the inserts, updates, deletes.
|
|
|
|
|
I think to have solved the problem....maybe I'm using a bad solution but the result is good.
In my dataset I have the Main table that is filled with the original database records. In the same datased I inserted a second table that is filled with a my personal Fill query.
In my form I have inserted both table adapter. The first one is only in background while the second one is shown in datagridview.
I insert, delete and modify the records one the datagrid and when I click "Save", I reflect the changes in the background table adapter....
Thank
Giacomo
|
|
|
|