I've started work on a website that was supposed to be small, so I went for the VistaDb database, but it got much more complex along the way and I want to switch to SQL Server now. Did anyone do this before, what do I have to do? My idea is to make a new umbraco install on SQL Server, overwrite all the files from the website except data, and find a way to export from VistaDB and import in SQL Server, but I would like to hear your opinion on this before I start.
Hmm, I believe I've seen a thread on this before, just need to digg it up again... Can't find it through the search utility here...
Anyway, VistaDb (Express) has a data builder tool, which lets's you build a complete sql script (and if configured correctly - can also generate sql statemenents for inserting data). I suggest you download VistaDb Express (you've probably done that already) and give it a play.
Make sure, when generating scripts, to include the data for each of the tables (By default, the data builder tool will only create sql statements for tables/views you've selected)
You could also create a package out of your site and then import that into a clean install on MSSQL. Haven't tried this myself, but I've heard that's possible.
I'm having some problems with this, I cannot create a package, it just gives an error saying to look in the umbraco log and that one doesn't have anything about this (the umbraco log table in the db, is there another log?). I also tried to import the data using the VistaDB 3 ADO Provider for .Net 2.0/3.x in SQL Server Management Studio, but here the option "copy data from one or more tables or views" is disabled. VistaDB 3 Data Builder can export to sql script or xml, but I couldn't import the files in SQL Server Management Studio, the sql it generates gives errors, and I don't know how to import the xml. After some googleing I've found an application called MS SQL Data Wizard that is supposed to import data, including xml, in mssql one table at a time, but this one also gives a meaningless error. Any help on this is greatly apreciated.
I've just noticed the error regarding creating the package:
CreatedPackage.cs System.ArgumentException: Cannot have ']]>' inside an XML CDATA block. at System.Xml.XmlTextWriter.WriteCData(String text) at System.Xml.XmlCDataSection.WriteTo(XmlWriter w) at System.Xml.XmlElement.WriteContentTo(XmlWriter w) at System.Xml.XmlElement.WriteTo(XmlWriter w) at System.Xml.XmlElement.WriteContentTo(XmlWriter w) at System.Xml.XmlElement.WriteTo(XmlWriter w) at System.Xml.XmlElement.WriteContentTo(XmlWriter w) at System.Xml.XmlElement.WriteTo(XmlWriter w) at System.Xml.XmlElement.WriteContentTo(XmlWriter w) at System.Xml.XmlElement.WriteTo(XmlWriter w) at System.Xml.XmlDocument.WriteContentTo(XmlWriter xw) at System.Xml.XmlDocument.WriteTo(XmlWriter w) at System.Xml.XmlDocument.Save(String filename) at umbraco.cms.businesslogic.packager.CreatedPackage.Publish()
Yes, thank you Peter, that was it, there were some CDATA tags in some templates. So the package was created, I've istalled it in a new umbraco instalation with sql, and the teplates, document types and xslts are there, but there's no content. When I created the package I did check "Include all child nodes" in the content section. Is there anything else i should do to get the content in the package also?
If you open the package (its just a zip-file containing an xml-file if I'm not mistaken) do you see your content in that xml-file? If so, it is in the package but doesn't get imported somehow. Not sure why then, perhaphs the order in which things get imported.
Perhaphs you can then create 2 packages in that case, 1 containing all templates, stylesheet etc and a second one containing the content.
I've just noticed that I made a mistake when adding content for the package, I thought it is possible to select the "Content" node, but it's not, you have to select child nodes of that. So now I've also got content!
switch from VistaDB to SQL Server Express
Hello,
I've started work on a website that was supposed to be small, so I went for the VistaDb database, but it got much more complex along the way and I want to switch to SQL Server now. Did anyone do this before, what do I have to do? My idea is to make a new umbraco install on SQL Server, overwrite all the files from the website except data, and find a way to export from VistaDB and import in SQL Server, but I would like to hear your opinion on this before I start.
Thank you, and have a nice day!
Hmm, I believe I've seen a thread on this before, just need to digg it up again... Can't find it through the search utility here...
Anyway, VistaDb (Express) has a data builder tool, which lets's you build a complete sql script (and if configured correctly - can also generate sql statemenents for inserting data). I suggest you download VistaDb Express (you've probably done that already) and give it a play.
Make sure, when generating scripts, to include the data for each of the tables (By default, the data builder tool will only create sql statements for tables/views you've selected)
Hope this helps.
Regards,
/Dirk
Thank you for the quick reply! I'll sure try to do that.
You could also create a package out of your site and then import that into a clean install on MSSQL. Haven't tried this myself, but I've heard that's possible.
HTH,
PeterD
Yeah, that sounds like a very good idea, thanks Peter! I'll add a reply here to say how it all went.
Hi,
I'm having some problems with this, I cannot create a package, it just gives an error saying to look in the umbraco log and that one doesn't have anything about this (the umbraco log table in the db, is there another log?). I also tried to import the data using the VistaDB 3 ADO Provider for .Net 2.0/3.x in SQL Server Management Studio, but here the option "copy data from one or more tables or views" is disabled. VistaDB 3 Data Builder can export to sql script or xml, but I couldn't import the files in SQL Server Management Studio, the sql it generates gives errors, and I don't know how to import the xml. After some googleing I've found an application called MS SQL Data Wizard that is supposed to import data, including xml, in mssql one table at a time, but this one also gives a meaningless error. Any help on this is greatly apreciated.
I've just noticed the error regarding creating the package:
CreatedPackage.cs System.ArgumentException: Cannot have ']]>' inside an XML CDATA block.
at System.Xml.XmlTextWriter.WriteCData(String text)
at System.Xml.XmlCDataSection.WriteTo(XmlWriter w)
at System.Xml.XmlElement.WriteContentTo(XmlWriter w)
at System.Xml.XmlElement.WriteTo(XmlWriter w)
at System.Xml.XmlElement.WriteContentTo(XmlWriter w)
at System.Xml.XmlElement.WriteTo(XmlWriter w)
at System.Xml.XmlElement.WriteContentTo(XmlWriter w)
at System.Xml.XmlElement.WriteTo(XmlWriter w)
at System.Xml.XmlElement.WriteContentTo(XmlWriter w)
at System.Xml.XmlElement.WriteTo(XmlWriter w)
at System.Xml.XmlDocument.WriteContentTo(XmlWriter xw)
at System.Xml.XmlDocument.WriteTo(XmlWriter w)
at System.Xml.XmlDocument.Save(String filename)
at umbraco.cms.businesslogic.packager.CreatedPackage.Publish()
Does anyone know what I can do about this?
Do you have CDATA-blocks in your xslt or templates perhaphs? If so, you might need to skip that one in your template and add it back manually later
Yes, thank you Peter, that was it, there were some CDATA tags in some templates. So the package was created, I've istalled it in a new umbraco instalation with sql, and the teplates, document types and xslts are there, but there's no content. When I created the package I did check "Include all child nodes" in the content section. Is there anything else i should do to get the content in the package also?
If you open the package (its just a zip-file containing an xml-file if I'm not mistaken) do you see your content in that xml-file? If so, it is in the package but doesn't get imported somehow. Not sure why then, perhaphs the order in which things get imported.
Perhaphs you can then create 2 packages in that case, 1 containing all templates, stylesheet etc and a second one containing the content.
If that doesn't work, I'm all out of options ...
I've just noticed that I made a mistake when adding content for the package, I thought it is possible to select the "Content" node, but it's not, you have to select child nodes of that. So now I've also got content!
is working on a reply...