• There are at least two files that contain the MYSQL command “SHOW FULL COLUMNS” which is an invalid MSSQL statement.

    Statements such as these might work:
    OLD STATEMENT $results = $wpdb->get_results( "SHOW FULL COLUMNS FROM$table`” );
    NEW STATEMENT $results = $wpdb->get_results( “select * from information_schema.columns where table_name =’$table'” );`

    I found these in wp-admin/includes/upgrade.php and wp-includes/update.php but that command is still being thrown by another file and I haven’t found it yet.

    Anyone else make any progress on this?

Viewing 14 replies - 1 through 14 (of 14 total)
  • Moderator Jan Dembowski

    (@jdembowski)

    Forum Moderator and Brute Squad

    which is an invalid MSSQL statement.

    I’m sorry, but do you mean MySQL and not MSSQL?

    The reason I am asking is that MSSQL (Microsoft SQL) is not supported, only MySQL. I’m hoping you have a typo there.

    Thread Starter medicnick

    (@medicnick)

    No, I mean MSSQL. It is silly to think there aren’t millions of people using MSSQL to host WordPress using the db-abstraction mu-plugin to do it.

    Moderator James Huff

    (@macmanx)

    Volunteer Moderator

    Well, to address that last point, WordPress requires MySQL 5.0 or greater with MySQL 5.5 or greater recommended. It has always required MySQL, and it always will: https://wordpress.org/about/requirements/

    WordPress has never officially supported MSSQL. Perhaps you were using a plugin to do that, like https://wordpress.org/plugins/wordpress-database-abstraction/ which hasn’t been updated for over three years and is active on less than ten WordPress installations?

    If you were using a plugin to provide support for a database type other than MySQL, you’ll need to get in touch with that plugin’s developer.

    Thread Starter medicnick

    (@medicnick)

    I’m not sure where you get the number 10? I have it active on nearly 10 sites just on my server. Too bad we are so stuck on a particular brand of SQL server when the SQL standard was designed to be vendor agnostic.

    Moderator James Huff

    (@macmanx)

    Volunteer Moderator

    I’m not sure where you get the number 10?

    From https://wordpress.org/plugins/wordpress-database-abstraction/ “Active Installs: Less than 10”

    Too bad we are so stuck on a particular brand of SQL server when the SQL standard was designed to be vendor agnostic.

    WordPress is developed by volunteers, and since the beginning the developers have all been very comfortable with MySQL. You’re more than welcome to change that by getting involved: https://make.wordpress.org/

    I am about to try it, but haven’t so far. But maybe the ProjectNami on GitHub (https://github.com/ProjectNami/projectnami/releases) is a solution for you.

    Moderator James Huff

    (@macmanx)

    Volunteer Moderator

    Interesting that it’s a complete fork, not just a plugin.

    Am trying it at a small site (http://hargaantik.se) at the moment but run into issues with Swedish characters not showing correctly. Not sure if its due to 4.2.2 or the ProjectNami. It worked fine before updating and all settings in wp-config and db_options show UTF-8 for charset (at least as far I have found so far). If anyone else is trying this please let me know if/how you got special characters in UTF-8 to work.

    Moderator James Huff

    (@macmanx)

    Volunteer Moderator

    Well, as the whole thing is a fork of WordPress, there really isn’t a distinction between “4.2.2 or the ProjectNami.” Essentially, it’s all ProjectNami.

    I don’t see any support links there, so I guess it’s best to just report it as an issue to them: https://github.com/ProjectNami/projectnami/issues

    It might be related to https://github.com/ProjectNami/projectnami/issues/17

    Just to be clear, as this is a complete fork, it’s technically no longer WordPress, or at least not to the extent that we can support it.

    I do understand it’s not supported by WP community 🙂
    But I have a few sites built using MS SQL on MS IIS that I need to support until I can move them to new platform.

    I also found the problem with special characters and it was related to 4.2.2 and not MS SQL and ProjectNami.

    In wp-db.php I found that the charset needs to be utf8mb4 to fully support UTF-8 character sets. By changning the wp-option DB_CHARSET and the dbo.wp_option blog_charset to utf8mb4 instead of just UTF-8 it all started working 🙂 Will cross-post the fix to the ProjectNami on GitHub as well.

    Was being happy for only a short while 🙁 The site started showing as expected but the editor was broken and showing “Warning: htmlspecialchars(): charset `utf8mb4′ not supported, assuming utf-8 in C:\inetpub\hargaantik.se\wp-includes\formatting.php on line 3270”. Will need some more investigation.

    Moderator James Huff

    (@macmanx)

    Volunteer Moderator

    Ok, please post to https://github.com/ProjectNami/projectnami/issues for assistance with that.

    They’re the ones who can help you with their product, not us.

    Hallo,

    insert into function translate_general($query) in file \wp-content\mu-plugins\wp-db-abstraction\translations\sqlsrv\translations.php this code:

    // SHOW FULL COLUMNS
    if ( stripos($query, 'SHOW FULL COLUMNS FROM ') === 0 ) {
         $end_pos = strlen($query);
         $param = substr($query, 23, $end_pos - 23);
         $param = "'". trim($param, "'") . "'";
         $query = 'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ' . $param;
    }

    After WP can be update to last version (4.2.4) and work on IIS and MS SQL on Windows. I love It 🙂

    Petr Barták, thanks! That helped a lot!

    Yet when I try to install a new WP site with MSSQL, I’m still getting this at setup:

    WordPress database error: [[Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near ‘,’.]
    DELETE a, b FROM wp_options a, wp_options b WHERE a.option_name LIKE N’\_transient\_%1$s\_transient\_timeout\_%2$s_transient_timeout_’, SUBSTRING( a.option_name, 12 ) ) AND b.option_value < 1442217761

    WordPress database error: [[Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near ‘,’.]
    DELETE a, b FROM wp_options a, wp_options b WHERE a.option_name LIKE N’\_site\_transient\_%1$s\_site\_transient\_timeout\_%2$s_site_transient_timeout_’, SUBSTRING( a.option_name, 17 ) ) AND b.option_value < 1442217761

    This is WP 4.3 install.
    I even tried this tip:
    http://www.sudhirtiwari.com/wordpress/how-to-install-wordpress-on-internet-information-services-iis/

    – Change code in wp-content/mu-plugins/wp-db-abstraction/translations/sqlsrv/translations.php at line #726 .

    $pattern = ‘/LIMIT\s*(\d+)((\s*,?\s*)(\d+)*)(;{0,1})$/is’;

    to

    $pattern = ‘/LIMIT\s*(\d+)((\s*,?\s*)(\d+)*);{0,1}$/is’;

Viewing 14 replies - 1 through 14 (of 14 total)
  • The topic ‘4.2 broke MSSQL’ is closed to new replies.