I have an old version of Microsoft Content Management System (MCMS-2002). I have a request to update our database server from sql2005 to sql2008. I can migrate the cms database just fine from 2005 to 2008, and I can set the compatibility mode to 2005.
However, when I use the Database Configuration Application (from MCMS) to point at the sql2008 server I get the following error:
Unable to use selected SQL Server. The
server must be SQL Server 2000 Service
Pack 2 or better.
I find it ironic, but frustrating, that it doesn't recognize the newer version of sql server. I have found some indications that MCMS queries the database for its version number but only accepts a single digit version number.
So SQL2000 -> version 8
SQL2005 -> version 9
SQL2008 -> version 10 : but MCMS only gets Version 1 and thinks it is a VERY old version.
Has anyone else experienced this issue and found a solution?
This problem is similar to the MCMS' J# version problem where setup is asking for version 3.0 which does not even exist.
I hope somebody does find a workaround as we are about the face the same problem soon.
Related
I work with Eclipse and I want to use the version 7 of Liferay but when I run my Tomcat server I have an error with MySQL.
Please upgrade to at least MySQL 5.6.4. The portal no longer supports older versions of MySQL
Like this the problem is pretty obvious but my SQL version is already 5.7.19
I have check my driver of MySQL in preference->data management->connectivity->driver definition and my MySQL JDBC Driver is 5.1
I want to know if someone already had this issue and know how to fix it
This is how the version gets validated, and this is how the version string gets constructed. I'd say: Please make extra extra extra sure that you are addressing the mysql server that you intend to address:
You can check your mysql version from the mysql command line client by executing select version();. Get your credentials and database URL from Liferay's portal-ext.properties or your appserver's connection pool configuration, depending on where you configured it.
I am using MYSQL and EF5(DB first) with connector/net 6.8.3.0. Everything works fine on my local machine but when I upload it to server it throws exception "Facet 'Precision' must not be specified for type 'datetime'".
Please let me know what is the reason.
Precision for datetime is added with MYSQL version 5.6 and I have generated the entities with latest MYSQL, so by default precision is added to the ssdl.
But on my server older version of MYSQL server was installed. This is the reason why it was throwing the exception.
Now with MYSQL server 5.6 we can have datetime(5) where 5 is the precision.
So we can have microsecond for datetime in MYSQL.
I too have been getting the "Facet 'Precision' must not be specified for type 'datetime'" error after publishing, but the cause of my problem differs from the OP's.
My Personal Solution
I have two independent servers: 'server1' with the EF5 web app, 'server2' with the database server1 references. Debugging the app on my local machine was no problem; but after I published to server1 the app kept crashing while trying to load. After much searching and testing I narrowed it down to either a configuration issue either with my application or MySQL. Finding this post (thank you kindly, user3275493, for answering your own question), I checked server2's MySQL config but alas it was already running MySQL Server 5.6. Just to be thorough (in reality this took me several days to realize), I decided to check MySQL Connecter and discovered that my local machine's was version 6.8.3 while server1's was version 5.6. After I updated Connector, I published my web app and it ran without flaw!
Simple Explanation
Not only will this error be caused by a MySQL version disagreement between Entity Framework and MySQL Server, but also between Entity Framework and MySQL Connector!
I have used the wizard from http://sqlazuremw.codeplex.com/ to move my database from:
Microsoft SQL Server 2008 (SP3) - 10.0.5500.0 (X64)
Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (VM)
to
Microsoft SQL Azure (RTM) - 11.0.9164.122
Which worked great, but there was a table with over a gigabyte of rubbish data. So I stopped the process. Now it copied a table structure, but forgot to fill the content. I will have to fix this manually with query:
-- when connected to the azure db
select into azureDb.dbo.tablename select * onPremisesServer.onPremisesDb.dbo.tablename
But when I execute it, I get:
Msg 40515, Level 15, State 1, Line 16
Reference to database and/or server name in 'onPremisesServer.onPremisesDb.dbo.tablename' is not supported in this version of SQL Server.
I have found Cannot get Linked Servers to work in Sql Azure and it says that it is client related. So I looked up my version of SSMS:
Microsoft SQL Server Management Studio 11.0.3128.0
So that cannot cause this. I have also had troubles with the 'onPremisesServer' being just an ip address and had to execute select name from sys.servers to find a server alias instead of using [ipadres] for onPremisesServer. Still cannot get it to work. The tables have exactly the same schema.
edit as DeicLone123 mentioned, I used import and export data. I have renamed the table to tablename-old on azure and ran the wizard and got:
I used the 3.x again from http://sqlazuremw.codeplex.com/ to migrate just that last table. Easy as that! Manually transferring the data, column types etc. is a real pain.. So this open source migration tool is really recommended!
I was trying to use TRY..CATCH feature in SQL Server 2005's Stored Procedure but it didn't worked. I checked my version using ##VERSION, it displayed "MS SQL Server 2000 - 8.00.194 (Intel X86) " but when I clicked on Help->About, it displayed "9.00.1399.00" which clearly specifies that I have SQL Server 2005 installed.
I know that TRY..CATCH can only be used on SQL server 2005 or above..
My system might be using Sql Server 2000 as source database or something like that, I might be wrong in describing. How to change it then..
After re-reading your question, you clearly have SQL Server 2005 client tools (SSMS) installed, and have your database on a SQL Server 2000 server, so you cannot use TRY..CATCH. Period.
Assuming you really do have a SQL Server 2005 server, have you ensured the specific database has its compatibility level set to 90 (SQL Server 2005)?
Right click database->Properties->Compatibility level
This can happen if you upgrade the server and forget to upgrade the database compatibility level.
help..about gives you the version of the client tools (SSMS)
SELECT ##VERSION gives you server version
If the server version is 8.x then you have SQL Server 2000 which does not support TRY/CATCH. No amount of fiddling with Compatibility level will fix this.
You have 3 practical options
Don't use TRY/CATCH
Upgrade your server version
Install a names SQL Server 2005 instance on the same box
Are there any free solutions for automatically migrating a database from MySQL to SQL Server Server that "just works"?
I've been attempting this simple (at least I thought so) task all day now. I've tried:
SQL Server Management Studio's Import Data feature
Create an empty database
Tasks -> Import Data...
.NET Framework Data Provider for Odbc
Valid DSN (verified it connects)
Copy data from one or more tables or views
Check 1 VERY simple table
Click Preview
Get Error:
The preview data could not be
retrieved. ADDITIONAL INFORMATION:
ERROR [42000] [MySQL][ODBC 5.1
Driver][mysqld-5.1.45-community]You
have an error in your SQL syntax;
check the manual that corresponds to
your MySQL server version for the
right syntax to use near
'"table_name"' at line 1 (myodbc5.dll)
A similar error occurs if I go through the rest of the wizard and perform the operation. The failed step is "Setting Source Connection" the error refers to retrieving column information and then lists the above error. It can retrieve column information just fine when I modify column mappings so I really don't know what the issue is.
I've also tried getting various MySql tools to output ddl statements that SQL Server understand but haven't succeeded.
I've tried with MySQL v5.1.11 to SQL Server 2005 and with MySQL v5.1.45 to SQL Server 2008 (with ODBC drivers 3.51.27.00 and 5.01.06.00 respectively)
There are two free toolkits provided by Microsoft.
Microsoft SQL Server Migration Assistant for MySQL v1.0
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=14280
Microsoft SQL Server Migration Assistant for MySQL v5.1
http://www.microsoft.com/download/en/details.aspx?id=26712
I have used only the second one and it worked for me without any glitch.
It required registration with Microsoft for downloading a license file.
But it is free to use for everyone.
This is really old now, but if you use MySQL Connector NET and set SQL Server Mode = true in the connection string, this will resolve your error.
Recently, I have successfully migrated the MySQL database to MSSQL database. Below are detailed steps:
Operating System: AWS Microsoft Windows Server 2012 R2 with SQL Server Standard
Tools Used:
SQL Server 2014 Management Studio SQL Developer,
Microsoft SQL Server Migration Assistant v6.0.1 for MySQL,
Remote Desktop Client, and
Third Party MySql ODBC Driver 5.1.13
1. Setup AWS Windows Server
2. From the AWS console ec2 instance list, right click on the windows server and select connect. You would see the similar screen below.
3. Click on the Get Password button which will be required for Remote Desktop connection[#4] and follow the instructions.
4. Connect to that EC2[#1] instance with the Remote Desktop Client by default available in your Ubuntu local machine. Use the credentials from #2.
5. Once you get connected using the remote client, you should be able to access the remote MSSQL server. Install the following tools.
Install Chrome : Since internet explorer has some security, install chrome.
Install Microsoft SQL Server Migration Assistant v6.0.1 for MySQL
https://www.microsoft.com/en-us/download/details.aspx?id=51218
Install Third Party MySql ODBC Driver 5.1.13
https://dev.mysql.com/downloads/connector/odbc/5.1.html
6. Configure ODBC Data Sources(64-bit) :
Open Administrative tools → click on ODBC Data Sources(64-bit) and
follow the steps to connect to MySQL database.
7. Open SQL Server 2014 Management Studio SQL Developer and connect using windows authentication.
Create destination MSSql database for MySql migration.
8. Open Microsoft SQL Server Migration Assistant : For detail visit this link: https://blogs.msdn.microsoft.com/ssma/2011/02/07/mysql-to-sql-server-migration-how-to-use-ssma/
Create new project
Connect to MySql
Connect to MSSql
Convert Schema
Migrate Data
8. You might have some problem listed here. Please read in detail where I have written the detail resolution.
MySql 5.6 to MSSql server 2014 migration : ExecuteReader requires an open and available Connection
I am afraid there is no simple solution. SQL used in MySQL and T-SQL used in SQL Server 200X are different dialects of SQL. It is not only simple changing say "auto_increment" to "identity", but reserved words that creates a problem.
For example
CREATE TABLE test (
user varchar(50)
)
will work in MySQL and fail in SQL Server 2008.
To cut long story short - unfortunately, you will need to do it by hand.
Export the file from MySQL to a CSV file.
Export the create statements for the tables from MySQL
Cry.
3a. Disable foreign key checks in SQL server
Tune the create statements in SQLserver until they work.
Import the CSV files in to MySQL.
5a. Enable foreign key checks in SQL server.
Also see these answers:
migrate-from-mysql-to-sql-server-2008
Had similiar issue about this error 42000, and for me I figured out that setting the MySQL global mode to ansi_quotes would solve it:
set global sql_mode=ansi_quotes;
There are commercial solutions, but not free solutions. Depending on complexity of your database, rewriting SQL for target dialect can be trivial task - or a very hard one.
Rewriting CREATE TABLE statements is never hard, it can be done by hand with no surprises. Procedures, functions and triggers are problematic.