Newsgroup: it.comp.software.database
Titolo: Migrazione da Firebird 6.0 a Ms SqlServer

Ciao ragazzi,
ho un piccolo problema.
Mi è stato consegnato un programma che utilizza come database Firebird
6.0, ma visto che lo conosco molto poco rispetto a MS Sql Server,
vorrei passare il tutto sul secondo.
Ho provato da MS SQL 2000 un import dei dati tramite ODBC ma non
vengono riconosciute viste e procedure.
Considerato che sono tante e non mi andrebbe di riscriverle esiste un
qualcosa (procedura, programma,...) che sia capace di tanto?
grazie mille

Mauro ha scritto:

ops ...
Volevo dire da Interbase 6.0 a MsSql
scusate !!

 scusate !!
Se scarichi IBOConsole e clicchi su Visualizza Metadati dovrebbe estrarti
la struttura SQL completa del database:
- Create Table
- Index
- Integrità referenziali
- Generatori
- Trigger
ecc
A questo punto dovrai prendere l'sql che ti interessa.

 scusate !!
Interbase 6 o Firebird e` piu` o meno la stessa cosa (tutti e due
provengono dalla stessa base di codice). Per quanto riguarda la tua
domanda, personalmente ti sconsiglio di passare da Firebird a SQL Server
e di imparare ad usare il primo. Questo perche`, oltre ad avere una
risorsa stabile e open source, ottieni anche una flessibilita` che SQL
Server difficilmente potra` avere (parlo della possibilita`
multipiattaforma). Inoltre, indipendentemente dalla versione del motore
SQL di Firebird che usi, potrai sempre utilizzare i database
creati con versioni precedenti senza dover modificare nulla. Infine,
conoscere qualcosa di nuovo non fa mai male :)
Enrico
P.S. comunque, da quello che so, c'e` un documento che descrive l'esatto
contrario della procedura da te richiesta, ovvero come migrare da SQL
Server a Firebird. lo trovi tra la documentazione presente sul sito di
Firebird, forse ti potra` essere utile

Enrico 'Henryx' Bianchi ha scritto:

Grazie ad entrambi per le risposte,
sono d'accordo che la cosa migliore sia imparare ad utilizzare
interbase, ma avendo poco tempo a disposizione, avrei preferito passare
ad un db da me più conosciuto.
Anche perchè non mi sembra che il server di Interbase non sia
facilmente ne totalmente configurabile,
o forse non ho cercato bene tra la documentazione.
Già che ci sono ne approfitto per sottoporti un paio di problemini che
mi avevano fatto decidere a passare a MS SQL.
Le domande sono tante ma quelle che mi premono principalmente sono:
1) c'è la possibilità di impostare la quantità RAM da destinare al
server?
2) a quanto ho capito interbase 6.0 non supporta il multi-processore.
E' vero? Mi conviene passare ad una versione successiva?
3)Per quanto riguarda la sintassi delle query, mi è dispiaciuto vedere
che non supporta la clausola  CASE...WHEN e ho aggirato il problema con
query separate e unite con la UNION ALL, con evidente ingrandimento
delle dimensioni delle query. C'è un altro modo per risolvere il
problema?
Grazie

 problema?
Si: abbandonare Interbase 6.0 e passare a Firebird. Dalla versione
1.5.3, infatti, e` supportato il costrutto CASE (la sintassi e` spiegata
chiaramente a pagina 29 del PDF contenente le note di rilascio della
versione che ti ho indicato). Se fai questo passaggio, ti consiglio di
utilizzare la versione 1.5.3 Classic. Tieni comunque bene a mente che il
passaggio da Interbase 6.0 a Firebird dovrebbe essere totalmente
indolore (basta che fai aprire il database creato con Interbase da
Firebird), ma un backup fa sempre comodo
Enrico
P.S. anche se la base e` la stessa, Firebird e Interbase oramai sono due
entita` distinte che procedono in direzioni differenti
P.P.S. eccoti degli strumenti per gestire il database: IBOConsole,
Flamerobin, IBExpert, SQuirreL. Flamerobin e SQuirreL sono
multipiattaforma (SQuirreL e` in Java), gli altri sono per Windows
P.P.P.S. se Interbase lo usi in azienda, o per qualche motivo ti serve
il supporto commerciale, prova a contattare i tizi di IBPhoenix

 il supporto commerciale, prova a contattare i tizi di IBPhoenix
Grazie per le tue risposte,
appena avrò un pò di tempo a disposizione per migrare a Firebird lo
farò sicuramente..
In effetti ci sono i parametri per configurare la dimensione della
memoria e delle cache quindi per adesso provo ad agire in questo senso
e vedremo come va.
Per chi, come me, non lo sapeva, il file su cui agire è ibconfig,
presente nella directory di installazione del programma.
Le impostazioni su cui ho agito:
DATABASE_CACHE_PAGES numero di pagine presenti nelle cache per ogni db
SERVER_PRIORITY_CLASS priorità del server (1 normale, 2superiore al
normale)
SERVER_WORKING_SIZE_MIN (memoria minima destinata al server in byte)
SERVER_WORKING_SIZE_MAX (memoria massima destinata al server in byte)
Le informazioni le ho prese qui:
http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_config
Grazie ancora per il tuo aiuto, ti farò sapere come è andata!

 Grazie ancora per il tuo aiuto, ti farò sapere come è andata!
Con firebird dovresti avere molti più settaggi:
cerca: firebird.conf
qui sotto:
http://www.firebirdsql.org/rlsnotes/Firebird-1.5-ReleaseNotes.pdf
 
http://209.85.135.104/search?q=cache:MaWwRySIWC4J:www.firebirdsql.org/rlsnotes/Firebird-1.5-ReleaseNotes.pdf+firebird.conf+affinity&hl=it&ct=clnk&cd=2&client=opera#33

 Grazie ancora per il tuo aiuto, ti farò sapere come è andata!
Prego. Comunque, continuo a consigliarti di passare a Firebird, sia
perche` abbatti i costi di licenza, sia perche` i passi nella direzione
della standardizzazione sono molteplici (e.g. l'aggiunta del costrutto
CASE)
Enrico

 CASE)
Aggiungo (mi pare IB non le supporti):
NULLIF (paragonabile al COALESCE)
GROUP BY standard (IB mi faceva fare select di campi che non riportavo nei
group by)
COALESCE
ORDER con possibilità di definire se tirar fuori i null FIRST o LAST
rispetto agli altri dati

Andrea [Work] ha scritto:

Grazie ragazzi
quanto prima passerò a Firebird,
ma il passaggio è indolore?
O bisogna attuare procedure particolari?

 O bisogna attuare procedure particolari?
Disinstalli Interbase e installi Firebird Server (io uso versione 1.5.x).
Addirittura io non ho fatto neanche un backup/ripristino dei DB, anche se
non ho usato ne SP, viste o altro, ma solo trigger, generatori e tabelle.
In pratica non ti accorgerai di nulla, in ogni caso fai un backup dei db
prima di provare.
http://www.ibphoenix.com/main.nfs?a=ibphoenix&s=1169568518:1706552&page=ibp_download

 non ho usato ne SP, viste o altro, ma solo trigger, generatori e tabelle.
Dovrebbe funzionare senza problemi anche in questo caso. Firebird e
Interbase 6 sono praticamente compatibili al 100%
Enrico