क्या एक डेटाबेस की एक SQL क्वेरी से दूसरे में कनवर्ट करने का कोई टूल है?एक अलग डेटाबेस के लिए SQL क्वेरी कनवर्ट करें
एसक्यूएल सर्वर
> CREATE TABLE ConstantValues( Id
> INTEGER identity(1,1) primary key ,
> VariableName varchar(50) , Values
> varchar(150))
लिए SQLite
> CREATE TABLE ConstantValues( Id int
> AUTOINCREMENT primary key ,
> VariableName varchar(50) , Values
> varchar(150))
के लिए इसी तरह यह Oracle और SQL सर्वर के लिए अलग है। विदेशी कुंजी बाधाओं में घोषणापत्र में, यदि कोई उपकरण है तो हम किसी भी डेटाबेस से किसी भी डेटाबेस से एसक्यूएल प्राप्त कर सकते हैं, यह मेरे लिए वास्तव में सहायक होगा।
मैं इस तरह एक समारोह बनाया है, लेकिन यह एक अच्छा समाधान हो प्रतीत नहीं होता:
private string changeSQL(string sql)
{
switch (dbtype)
{
case dbType.SQLite:
sql = sql.Replace(" int ", " INTEGER ");
sql = sql.Replace(" identity(1,1) ", " AUTOINCREMENT ");
break;
case dbType.MsAscess:
sql = sql.Replace(" int ", " ");
sql = sql.Replace(" identity(1,1) ", "");
sql = sql.Replace("AUTOINCREMENT", "AUTOINCREMENT");
break;
}
return (sql);
}
इसी SQLite के लिए, संयोजन किया जाता है ||
का उपयोग करते समय एसक्यूएल सर्वर में यह +
उपयोग किया जाता है।
"एक अलग डेटाबेस के लिए SQL क्वेरी कन्वर्ट" बस कि Oracle से MSSQL करने के लिए इस तरह पोर्ट किया गया एक 3 पार्टी अनुप्रयोग की समीक्षा की। उन्होंने SEQUENCES को लागू करने के लिए कोड लिखा था। साधारण मामलों को छोड़कर, आरडीबीएमएस स्विच करने से डाटाबेस का एक नया स्वरूप भी शामिल होना चाहिए। – Bill
अगर आपको वह जानकारी मिलती है तो उसे उत्तर के रूप में चिह्नित करने के लिए मत भूलना .. –