Bug #25674 Not responding while database synchronisation with MSSQL 2000
Submitted: 17 Jan 2007 10:11 Modified: 17 Jan 2007 13:12
Reporter: KAZANCI ibrahim Email Updates:
Status: Won't fix Impact on me:
None 
Category:MySQL Workbench Preview Severity:S1 (Critical)
Version:1.1.8 Alpha OS:Windows (Windows XP Pro. SP2)
Assigned to: CPU Architecture:Any
Tags: Database synchronisation, ms sql, MSSQL, not responding, sync

[17 Jan 2007 10:11] KAZANCI ibrahim
Description:
i'm trying to use database synchronisation.
My database MSSQL 2000.
Selecting MS SQL from list, giving the connection parameters, and selecting the database from dropdown list.,
next, Source Schemata screen...
next Select Schema screen
selecting kk.dbo database...
next Reverse Engineering tasks completed.
When i press advanced button i see this log :

*********
Initializing JDBC driver ... 
Driver class MS SQL JDBC Driver
Opening connection ... 
Connection jdbc:jtds:sqlserver://shark:1433/kk;user=sa;password=xxxxx;charset=utf-8;domain=
Initializing JDBC driver ... 
Driver class MS SQL JDBC Driver
Opening connection ... 
Connection jdbc:jtds:sqlserver://shark:1433/kk;user=sa;password=xxxxx;charset=utf-8;domain=
Getting version information ... 
Initializing JDBC driver ... 
Driver class MS SQL JDBC Driver
Build simple MSSQL datatypes.
Fetch the number of tables in the schema dbo.
SELECT COUNT(*) AS TABLECOUNT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' AND TABLE_SCHEMA=?
Fetching 1 table(s) of the schema dbo.
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' AND TABLE_SCHEMA=?
Fetching column information.
SELECT COLUMN_NAME, COLUMN_DEFAULT,  IS_NULLABLE, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, CHARACTER_OCTET_LENGTH,  NUMERIC_PRECISION, NUMERIC_PRECISION_RADIX, NUMERIC_SCALE, DATETIME_PRECISION,  CHARACTER_SET_CATALOG, CHARACTER_SET_SCHEMA, CHARACTER_SET_NAME,  COLLATION_NAME, DOMAIN_CATALOG, DOMAIN_SCHEMA, DOMAIN_NAME,  (c.status & 128) / 128 AS IS_IDENTITY_COLUMN FROM INFORMATION_SCHEMA.COLUMNS, sysobjects t, sysusers u, syscolumns c WHERE TABLE_SCHEMA=? AND TABLE_NAME=? AND u.name=TABLE_SCHEMA AND t.name=TABLE_NAME AND u.uid=t.uid AND c.id=t.id AND c.name=COLUMN_NAME ORDER BY ORDINAL_POSITION
WARNING: The datatype datetime was not been defined yet.
Fetching primary key information.
sp_pkeys @table_owner=?, @table_name=?
Fetching indices information.
SELECT u.name as TABLE_SCHEMA,  o.name as TABLE_NAME, i.name AS INDEX_NAME, c.name AS COLUMN_NAME,  (i.status & 1) AS IGNORE_DUPLICATE_KEYS,  (i.status & 2) / 2 AS IS_UNIQUE,  (i.status & 4) / 4 AS IGNORE_DUPLICATE_ROWS,  (i.status & 16) / 16 AS IS_CLUSTERED,  (i.status & 2048) / 2048 AS IS_PRIMARY_KEY,  (i.status & 4096) / 4096 AS IS_UNIQUE_KEY FROM sysindexes i, sysobjects o, sysusers u, sysindexkeys k, syscolumns c WHERE u.uid=o.uid AND i.id = o.id AND k.indid=i.indid AND k.id=i.id AND  c.id=i.id AND c.colid=k.colid AND  i.indid > 0 AND i.indid < 255 AND o.type = 'U' AND  (i.status & 64)=0 AND (i.status & 8388608)=0 AND  (i.status & 2048)=0 AND  u.name=? AND o.name=? ORDER BY i.name, k.keyno
Fetching FK information.
SELECT fk.name AS CONSTRAINT_NAME,  c.name AS COLUMN_NAME, ref_u.name AS REF_SCHEMA_NAME,  ref_tbl.name AS REF_TABLE_NAME, ref_c.name AS REF_COLUMN_NAME,  CASE WHEN (ObjectProperty(sfk.constid, 'CnstIsUpdateCascade')=1) THEN   'CASCADE' ELSE 'NO ACTION' END as UPDATE_RULE,  CASE WHEN (ObjectProperty(sfk.constid, 'CnstIsDeleteCascade')=1) THEN   'CASCADE' ELSE 'NO ACTION' END as DELETE_RULE FROM sysusers u, sysobjects t, sysobjects fk, sysforeignkeys sfk,  syscolumns c, sysobjects ref_tbl, sysusers ref_u, syscolumns ref_c WHERE u.name=? AND t.name=? AND  t.uid=u.uid AND t.xtype='U' AND  sfk.fkeyid=t.id AND fk.id=sfk.constid AND  c.id=t.id AND c.colid=sfk.fkey AND  ref_tbl.id=sfk.rkeyid AND ref_tbl.uid=ref_u.uid AND  ref_c.id=ref_tbl.id AND ref_c.colid=sfk.rkey ORDER BY sfk.constid, sfk.keyno
Fetch all views of the schema dbo.
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA=?
Processing view syssegments.
Processing view sysconstraints.
Views fetched.
Fetch count of stored procedures of the schema dbo.
SELECT COUNT(*) AS NUM FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA=?
Fetching 0 stored procedure(s) of the schema dbo.
SELECT ROUTINE_NAME, ROUTINE_TYPE, MODULE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA=?
Routines fetched.
file source\myx_grt_value.c: line 3684: assertion `strcmp(c1, c2) == 0' failed
file source\myx_grt_value.c: line 4169: assertion `myx_grt_value_compare_types(grt, source, target) == 1' failed
********

And if i press next, the button remain pressed and nothing happen anymore. Not responding. Only thing i can ending the task...

First i think its a collation problem but it give the same error with Latin1_General_CI_AS Collation. So i don't know the cause.

İbrahim KAZANCI

How to repeat:
This is the sql script to create database and a table:

USE [master]
GO
/****** Object:  Database [kk]    Script Date: 01/17/2007 10:44:49 ******/
CREATE DATABASE [kk] ON  PRIMARY 
( NAME = N'kk', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\kk.mdf' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
 LOG ON 
( NAME = N'kk_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\kk_log.ldf' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
 COLLATE SQL_Latin1_General_CP1254_CI_AS
GO
EXEC dbo.sp_dbcmptlevel @dbname=N'kk', @new_cmptlevel=80
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [kk].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [kk] SET ANSI_NULL_DEFAULT OFF 
GO
ALTER DATABASE [kk] SET ANSI_NULLS OFF 
GO
ALTER DATABASE [kk] SET ANSI_PADDING OFF 
GO
ALTER DATABASE [kk] SET ANSI_WARNINGS OFF 
GO
ALTER DATABASE [kk] SET ARITHABORT OFF 
GO
ALTER DATABASE [kk] SET AUTO_CLOSE OFF 
GO
ALTER DATABASE [kk] SET AUTO_CREATE_STATISTICS ON 
GO
ALTER DATABASE [kk] SET AUTO_SHRINK OFF 
GO
ALTER DATABASE [kk] SET AUTO_UPDATE_STATISTICS ON 
GO
ALTER DATABASE [kk] SET CURSOR_CLOSE_ON_COMMIT OFF 
GO
ALTER DATABASE [kk] SET CURSOR_DEFAULT  GLOBAL 
GO
ALTER DATABASE [kk] SET CONCAT_NULL_YIELDS_NULL OFF 
GO
ALTER DATABASE [kk] SET NUMERIC_ROUNDABORT OFF 
GO
ALTER DATABASE [kk] SET QUOTED_IDENTIFIER OFF 
GO
ALTER DATABASE [kk] SET RECURSIVE_TRIGGERS OFF 
GO
ALTER DATABASE [kk] SET  READ_WRITE 
GO
ALTER DATABASE [kk] SET RECOVERY SIMPLE 
GO
ALTER DATABASE [kk] SET  MULTI_USER 
GO
ALTER DATABASE [kk] SET TORN_PAGE_DETECTION ON 

CREATE TABLE [dbo].[BarkodHareket] (
	[ID] [float] NOT NULL ,
	[PersonelKodu] [char] (8) COLLATE SQL_Latin1_General_CP1254_CI_AS NOT NULL ,
	[Tarih] [datetime] NULL ,
	[IslemTuru] [char] (10) COLLATE SQL_Latin1_General_CP1254_CI_AS NULL ,
	[Aciklama] [varchar] (100) COLLATE SQL_Latin1_General_CP1254_CI_AS NULL 
) ON [PRIMARY]
GO

Select MS SQL from list, give the connection parameters, and select the database kk from dropdown list.,
next,
next...
select kk.dbo
next Reverse Engineering tasks completed.
if you press advanced button you can see the log with two error line at the end of it. If you press Next you get stucked.

Suggested fix:
There is no fix that i can suggest.
[17 Jan 2007 13:12] MySQL Verification Team
Thank you for the bug report.
[10 Sep 2008 9:08] h h
What is it status for this bugs? How to fixed it. I also facing this issues. Unknown system variable "CONCAT_NULL_YIELDS_NULL". Here is sql in SQL Server:

SET CONCAT_NULL_YIELDS_NULL OFF SELECT DISTINCT sect_code_1 + ' ' + ( 
SELECT sect_desc
FROM section
WHERE sect_code = sect_code_1 ) + '~' + sect_code_2 + ' ' + ( 
SELECT sect_desc
FROM section
WHERE sect_code = sect_code_2 ) + '~' + sect_code_3 + ' ' + ( 
SELECT sect_desc
FROM section
WHERE sect_code = sect_code_3 ) + '~' + sect_code_4 + ' ' + ( 
SELECT sect_desc
FROM section
WHERE sect_code = sect_code_4 ) + '~' + sect_code_5 + ' ' + ( 
SELECT sect_desc
FROM section
WHERE sect_code = sect_code_5 ) + '~' + sect_code_6 + ' ' + ( 
SELECT sect_desc
FROM section
WHERE sect_code = sect_code_6 ) + '~' + sect_code_7 + ' ' + ( 
SELECT sect_desc
FROM section
WHERE sect_code = sect_code_7 ) + '~' + sect_code_8 + ' ' + ( 
SELECT sect_desc
FROM section
WHERE sect_code = sect_code_8 ) + '~' + sect_code_9 + ' ' + ( 
SELECT sect_desc
FROM section
WHERE sect_code = sect_code_9 ) + '~' + sect_code_10 + ' ' + ( 
SELECT sect_desc
FROM section
WHERE sect_code = sect_code_10 ) + '~' AS sect_str
FROM proc_sect_rel
ORDER BY sect_str
[10 Sep 2008 9:33] Johannes Taxacher
This bug has been closed due to the reason that MySQL Workbench doesn't support other DBMS than MySQL, so in a recent Version of Workbanch you are not able to select a differnt Database driver.
We will propably include support for more databases in future versions.