2017-01-10 2 views
1

Ich erstellte eine Datenbank namens Test mit phpMyAdmin.Fehler beim Importieren von Firebird in Mysql

an der Eingabeaufforderung habe ich versucht, dies:

c:\xampp\mysql\bin>mysql -u root test < c:\scriptTest\Telemed.sql 

und bekam diesen Fehler:

ERROR 1064 (42000) at line 7: You have an error in your SQL syntax; check the ma 
nual that corresponds to your MariaDB server version for the right syntax to use 
near ''127.0.0.1/gds_db:C:\TELEMED\TELEMED.GDB' USER 'SYSDBA' 
    PAGE_SIZE 4096 
    D' at line 1 

Meine Skriptdatei hat dieses

/* SQL Manager Lite for InterBase and Firebird 5.2.3.2 */ 
/* --------------------------------------------------- */ 
/* Host  : localhost        */ 
/* Database : C:\TELEMED\TELEMED.GDB     */ 


CREATE DATABASE '127.0.0.1/gds_db:C:\TELEMED\TELEMED.GDB' USER 'SYSDBA' 
PAGE_SIZE 4096 
DEFAULT CHARACTER SET NONE; 

Kann jemand bitte lassen Sie mich wissen, was ist falsch.

+0

Solche Token können in _backticks_ in SQL eingeschlossen sein, aber nicht in _single charts_. Ihre Dateisyntax ist ungültig. nichts kann MySQL dagegen tun. – arkascha

+0

Abgesehen davon: der Datenbankname "127.0.0.1/gds_db:C:\TELEMED\TELEMED.GDB" sieht nicht wirklich nach einer cleveren Sache aus ... – arkascha

+1

@arkascha In Firebird, das den Server identifiziert (127.0.0.1), port (gds_db aka Port 3050) und der Pfad zur Datenbank (C: \ TELEMED \ TELEMED.GDB), obwohl es normalerweise besser ist, einen Alias ​​anstelle des vollständigen Pfades zu verwenden. –

Antwort

1

Die angezeigte Anweisung create database ist Firebird spezifisch. Sie müssen es in das MySQL-Äquivalent übersetzen. Sie können the MySQL equivalent in the reference manual finden:

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name 
    [create_specification] ... 

create_specification: 
    [DEFAULT] CHARACTER SET [=] charset_name 
    | [DEFAULT] COLLATE [=] collation_name 

Ein einfaches create database telemed alles, was Sie brauchen könnten; Sie sollten jedoch sorgfältig überlegen, ob Sie einen Standardzeichensatz benötigen oder nicht.

Wenn Sie die Datenbank bereits erstellt haben, können Sie diese Anweisung einfach entfernen.

Beachten Sie, dass dies bei der Migration auf weitere Dinge zutrifft, z. B. in Firebird zitierte Objektnamen in Anführungszeichen (SQL-Standard), während MySQL Backticks verwendet. Es kann auch einige Unterschiede in Syntax und Datentypen geben, etc.

Verwandte Themen