8 messaggi dal 23 agosto 2014
Salve a tutti
premesso che sono nuovo di questo ambiente (VISUAL Studio/ASP), stavo provando ad seguire l'esempio riportato a questa pgina http://www.codeproject.com/Articles/794899/Linking-ASP-NET-MVC-with-DB-Table , ma trovo subito un problema durante la configurazione della connessione; il problema è che quando tento di "inserire" il "Provider OLE DB" non me lo prende, nel senso che, nella lista non mi fa vedere niente e se clicco su collegamento dati mi da il messaggio "riferimento a un oggetto non impostato su un'instanza oggetto"
Se vado su componenti di .NET Framework vedo "spuntati" tutti gli elementi che iniziano con DB2* e iDB2 (DB2Command, DB2Connecction ... iDB2Command , iDB2COnnection ecc. ecc.)

qualcuno può indicarmi come risolvere questo problema ?
Grazie in anticipoi
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao e benvenuto nel forum,

giovanni_a ha scritto:

nella lista non mi fa vedere niente
...
DB2Command, DB2Connecction ... iDB2Command , iDB2COnnection

Probabilmente non hai scaricato il provider OleDB, ma il provider managed. Se funziona lo stesso, meglio così.

Ora, siccome sei agli inizi, prendi dimestichezza con tutti questi oggetti DB2Connection, DB2Command prima di seguire l'articolo che hai trovato.

Per il momento prova giusto ad aprire una connessione. Lavora su un nuovo progetto se non vuoi toccare quello ASP.NET MVC che hai già creato. Può anche essere un'applicazione console di Windows, così forse è più semplice fare esperimenti perché avrai meno disturbi. Devi solo andare referenziare l'assembly .dll che contiene quelle classi.
Poi scrivi:
using (var conn = new DB2Connecction("Server=TuoServer:NumeroPorta;Database=tuoDataBase;UID=tuoUsername;PWD=tuaPassword;")){
  conn.Open();
  conn.Close();
}

Se non hai errori, vuol dire che la connessione è stata stabilita correttamente e puoi continuare a sperimentare con il DB2Command, che ti permetterà di inviare query e comandi al database.

In generale, tutte le classi DB2qualcosa appartengono ad un ecosistema chiamato ADO.NET. Trovi vari articoli qui su Aspitalia che ti mostrano come usarle.
Che tu stia usando Sql Server, MySQL o DB2 è indifferente, perché la nomenclatura è quasi la stessa. Ciò che cambia è soltanto il prefisso (anziché DB2, negli esempi potresti essere qualcos'altro, come Sql, Mysql, OleDb, ecc...).
http://www.aspitalia.com/articoli/asp.net/adodotnet.aspx

ciao,
Moreno

Enjoy learning and just keep making
8 messaggi dal 23 agosto 2014
Grazie 1000

scusa per la banalità della domanda ma proprio non lo so: come faccio a referenziare l'assembly .dll che contiene quelle classi?

questo quello che ho scritto: (mi da errore su DB2Connection)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
using (var conn = new DB2Connection("Server=TuoServer:NumeroPorta;Database=tuoDataBase;UID=tuoUsername;PWD=tuaPassword;")){
conn.Open();

conn.Close();
}

}




Grazie
Modificato da giovanni_a il 23 agosto 2014 14.59 - ques
Modificato da giovanni_a il 23 agosto 2014 15.00 -
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao Giovanni,

giovanni_a ha scritto:

come faccio a referenziare l'assembly .dll che contiene quelle classi?


Dal pannello "Solution Explorer" di Visual Studio (è la colonna che hai a destra), fai tasto destro su "References" e poi "Add Reference", come vedi in questa immagine.
Ti si presenterà una finestra. Sulla sinistra clicca "Browse" e vai a selezionare il file .dll.

Questo non è sufficiente, perché devi anche aggiungere una direttiva using in cima al file. Vedi tutti quegli using in cima? Ebbene, ne va aggiunto uno con il namespace che fa da contenitore alle classi DB2qualcosa.
Se non sai qual è il namespace non fa nulla, perché Visual Studio ti aiuta. Clicca con il mouse sulla classe DB2Connection e poi premi i tasti CTRL . (CTRL e punto contemporanemante) sulla tastiera. Verrà fuori un menu che ti aiuterà ad aggiungere lo using.


namespace ConsoleApplication1
{
using (var conn = new DB2Connection("Server=TuoServer:NumeroPorta;Database=tuoDataBase;UID=tuoUsername;PWD=tuaPassword;")){
conn.Open();

conn.Close();
}

}


Occhio a non cancellare dei pezzi. Qui manca il nome della classe e il metodo main. Il codice che ti ho fornito va inserito dentro il metodo main.

ciao,
Moreno
Modificato da BrightSoul il 23 agosto 2014 15.51 -

Enjoy learning and just keep making
8 messaggi dal 23 agosto 2014
Ciao
questo il debug che ricevo quando lancio il programma:

dove sbaglio ?

Grazie ancora

ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\12.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\12.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\12.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'c:\users\angelo\documents\visual studio 2013\Projects\ConsoleApplication2\ConsoleApplication2\bin\Debug\ConsoleApplication2.vshost.exe' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.DataSetExtensions\v4.0_4.0.0.0__b77a5c561934e089\System.Data.DataSetExtensions.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.CSharp\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.CSharp.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\assembly\GAC_MSIL\IBM.Data.DB2.iSeries\12.0.0.0__9cdb2ebfb1f93a26\IBM.Data.DB2.iSeries.dll' completato. Impossibile trovare o aprire il file PDB.
Il thread 0x43a0 è terminato con il codice 259 (0x103).
Il thread 0x1918 è terminato con il codice 259 (0x103).
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'c:\users\angelo\documents\visual studio 2013\Projects\ConsoleApplication2\ConsoleApplication2\bin\Debug\ConsoleApplication2.exe' completato. Simboli caricati.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\assembly\GAC_32\IBM.Data.DB2\9.0.0.2__7c307b91aa13d208\IBM.Data.DB2.dll' completato. Modulo compilato senza simboli.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Transactions\v4.0_4.0.0.0__b77a5c561934e089\System.Transactions.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_it_b77a5c561934e089\mscorlib.resources.dll' completato. Modulo compilato senza simboli.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.Wrapper.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata.
Eccezione first-chance di tipo 'IBM.Data.DB2.DB2Exception' in IBM.Data.DB2.dll
'ConsoleApplication2.vshost.exe' (CLR v4.0.30319: ConsoleApplication2.vshost.exe): caricamento di 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Transactions.resources\v4.0_4.0.0.0_it_b77a5c561934e089\System.Transactions.resources.dll' completato. Modulo compilato senza simboli.
System.Transactions Critical: 0 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"><TraceIdentifier>http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled</TraceIdentifier><Description>Eccezione non gestita</Description><AppDomain>ConsoleApplication2.vshost.exe</AppDomain><Exception><ExceptionType>IBM.Data.DB2.DB2Exception, IBM.Data.DB2, Version=9.0.0.2, Culture=neutral, PublicKeyToken=7c307b91aa13d208</ExceptionType><Message>ERROR [42968] [IBM] SQL8002N An attempt to connect to a host failed due to a missing DB2 Connect product or invalid license. SQLSTATE=42968
</Message><StackTrace> in IBM.Data.DB2.DB2ConnPool.Open(DB2Connection connection, String&amp;amp; szConnectionString, DB2ConnSettings&amp;amp; ppSettings, Object&amp;amp; ppConn)
in IBM.Data.DB2.DB2Connection.Open()
in ConsoleApplication2.Program.Main(String[] args) in c:\Users\Angelo\Documents\Visual Studio 2013\Projects\ConsoleApplication2\ConsoleApplication2\Program.cs:riga 16
in System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
in System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
in Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
in System.Threading.ThreadHelper.ThreadStart_Context(Object state)
in System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
in System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
in System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
in System.Threading.ThreadHelper.ThreadStart()</StackTrace><ExceptionString>IBM.Data.DB2.DB2Exception (0x80004005): ERROR [42968] [IBM] SQL8002N An attempt to connect to a host failed due to a missing DB2 Connect product or invalid license. SQLSTATE=42968

in IBM.Data.DB2.DB2ConnPool.Open(DB2Connection connection, String&amp;amp; szConnectionString, DB2ConnSettings&amp;amp; ppSettings, Object&amp;amp; ppConn)
in IBM.Data.DB2.DB2Connection.Open()
in ConsoleApplication2.Program.Main(String[] args) in c:\Users\Angelo\Documents\Visual Studio 2013\Projects\ConsoleApplication2\ConsoleApplication2\Program.cs:riga 16
in System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
in System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
in Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
in System.Threading.ThreadHelper.ThreadStart_Context(Object state)
in System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
in System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
in System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
in System.Threading.ThreadHelper.ThreadStart()</ExceptionString></Exception></TraceRecord>
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,
l'errore è il seguente:

ERROR [42968] [IBM] SQL8002N An attempt to connect to a host failed due to a missing DB2 Connect product or invalid license.


C'è della documentazione nel sito IBM per questo errore, verifica quanto indicato.
http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.5.0/com.ibm.db2.luw.messages.sql.doc/doc/msql08002n.html

ciao,
Moreno

Enjoy learning and just keep making
8 messaggi dal 23 agosto 2014
Ciao

ho letto (purtroppo solo oggi per mancanza di tempo) la tua risposta ed ho letto anche il link.. però non capisco perché mi parla di licenza scaduta.. nell'as400 non ho nessuna licenza scaduta ... non riesco a capire dove possa essere il problema . se ha i qualche altra idea..

Grazie

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.