- Right-click on the database and go to Tasks > Generate Scripts.
- Select the tables that you want to generate the script.
- Go to Set scripting options tab and click on the Advanced button.
- In the General category, go to Type of data to script
- There are 3 options: Schema Only, Data Only, and Schema and Data. Select the appropriate option and click on OK.
Tag: database
WordPress on Azure: Error establishing a database connection
You have a WordPress site hosted on Microsoft Azure.Perhaps your site is part of a free or shared app service plan.
Trying to connect to the site, one day, you have this wordpress error message: Error establishing a database connection
How to find out and solve the problem?
Connecting to Microsoft Azure Service with FTP
First of all you have to connect to the site via ftp to understand where the error is. We can connect to Azure web application with FTP also. In the Overview section of the your Azure web application, select “Get publish profile”. It will download a file that has a lot of things and teh details about FTP username and password, which is constant and can be used for FTP connection.
Enable WordPress Debug Logging
You need FTP connection to enable WordPress Debug Logging. To enable error logging in WordPress, you will have to make both of the following changes :
- In wwwroot directory, create a file named .user.ini Add the following line:
log_errors=on
- In wwwroot directory, open wp-config.php
Add the following lines :
//Enable WP_DEBUG mode
define('WP_DEBUG', true);
//Enable Debug Logging to /wp-content/debug.log
define('WP_DEBUG_LOG', true);
//Supress errors and warnings to screen
define('WP_DEBUG_DISPLAY', false);
//Supress PHP errors to screen
ini_set('display_errors', 0);
Also comment the line :
/* define('WP_DEBUG', false); */
Analyze the Log File
Try to load your site. Now, through ftp, you can enter in the directoy LogFiles and analyze the file
php_errors.log
Database error
Perhaps you have a database error, for example a duplicate key problem. On azure, in your app service, select Mysql In -app button. On the top of the section, you can see the Manage button. Click on the button and you’ll load the phpMyAdmin portal on your local Mysql DB.
Duplicate entry
If you have this kind of error : Duplicate entry ‘XXXXX’ for key ‘PRIMARY’ for the query INSERT INTO `table_name`, just ran following command :
REPAIR
TABLE
table_name
That’s it! It was done.
ASP.NET MVC : ACCESSO AI DATI
ApplicationDbContext
Nell’articolo precedente abbiamo introdotto la classe ApplicationDbContext.
Cercatela nel progetto. Dovreste trovarla all’interno del file IdentityModels.cs. Questa classe deriva dalla classe IdentityDbContext che a sua volta deriva da DbContext.
DbContext è la classe di accesso ad un database. Il costruttore della classe ha come parametro il nome della stringa di connessione che avevamo precedentemente trovato nel file Web.config.
public ApplicationDbContext() : base("DefaultConnection") { }
Soffermiamoci su questa informazione : nel Web.config potete inserire più stringhe di connessione e quindi testare l’applicazione su database diversi, cambiando il parametro qui sopra, oppure creare una applicazione che si connette a diversi database definendo più di un DbContext.
All’interno di un DbContext dovranno essere referenziate tutte le tabelle del database che vogliamo usare nella nostra applicazione: o meglio, tutte le tabelle che hanno dei vincoli tra loro.
Se per esempio volessimo legare alla tabella degli utenti creata da Visual Studio, una seconda tabella creata da noi, le 2 tabelle dovrebbero fare parte dello stesso DbContext. Ma noi non sappiamo niente delle tabelle per la gestione degli utenti create in automatico. La classe IdentityDbContext contiene i riferimenti a queste tabelle. Per questo motivo il nostro ApplicationDbContext non deriva da DbContext ma da IdentityDBContext che contiene, appunto, qualche informazione in più.
Mano a mano che aggiungerete tabelle alla applicazione andrete a lavorare sulla classe ApplicationDbContext. Per rendere il codice più ordinato, nella directory Models andate a creare un nuovo file ApplicationDbContext.cs e copiate in questa classe il codice di ApplicationDbContext (solo quello) che era presente in IdentityModels.cs.
public class ApplicationDbContext : IdentityDbContext<ApplicationUser> { public ApplicationDbContext() : base("DefaultConnection") { } public static ApplicationDbContext Create() { return new ApplicationDbContext(); } }
Provate a lanciare l’applicazione ed ad effettuare un login per testare che tutto funzioni.
ORACLE E TERMINAL SERVER
Quando create un nuovo database Oracle potreste incappare nell’errore ORA-12560: TNS:protocol adapter error. Se avete fatto tutti i controlli del caso (per esempio il SID o il servizio di Oracle) e non avete trovato la soluzione, probabilmente è perchè state creando il database collegati in terminal server. Dovete farlo dalla console fisica (o virtuale).