2010-01-26 13 views
3

Je courais simple FillSchema à partir d'une source de données Netezzaplusieurs étapes OLE DB opération généré des erreurs

dss = new DataSet(); 
ad = new OleDbDataAdapter(cmd); 
ad.SelectCommand = new OleDbCommand("SELECT * FROM " + objTable.name); 
ad.SelectCommand.Connection = cn; 
ad.FillSchema(dss, SchemaType.Source); 

Je reçois l'erreur suivante:

System.Data.OleDb.OleDbException: Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done. 
    at System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper) 
    at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) 
    at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) 
    at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) 
    at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) 
    at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 
    at System.Data.OleDb.OleDbConnection.Open() 
    at System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState) 
    at System.Data.Common.DbDataAdapter.FillSchemaInternal(DataSet dataset, DataTable datatable, SchemaType schemaType, IDbCommand command, String srcTable, CommandBehavior behavior) 
    at System.Data.Common.DbDataAdapter.FillSchema(DataSet dataSet, SchemaType schemaType, IDbCommand command, String srcTable, CommandBehavior behavior) 
    at System.Data.Common.DbDataAdapter.FillSchema(DataSet dataSet, SchemaType schemaType) 
    at IMS.DF2.IMSCubeGenerator.IMSCube.AddTableToDatasourceView(table objTable) in C:\DIUP\DF2\IMSCubeGenerator\IMSCube.cs:line 902 

Qu'est-ce que je fais mal ici?

Comment puis-je obtenir les erreurs en dessous (Vérifiez chaque valeur d'état OLE DB)?

Répondre

3

Quelle est votre chaîne de connexion?

Ce sera soit votre pilote, votre curseur ou la sécurité (j'ai eu le même problème en utilisant la sécurité intégrée).

La modification de ceci en un nom d'utilisateur/mot de passe a résolu mon problème.

Voir here, here et here pour plus d'informations.

+0

Je n'étais pas au courant que Netezza avait une sécurité intégrée. En tout cas, on m'a donné une connexion Netezza à utiliser. Cela aurait pu être le curseur ou le pilote. –