export to access

4 отговора 98 прегледа
#1

export to access

Имам нужда от помощ...
значи проблема е следния - имам една SP на MsSQL, която връща малко таблици. Целта ми е с данните от тези таблици да напълня една Access-ка база.
Цялата работа става със C#.
Първият въпрос е - има ли начин директно (и лесно) от DataSet-а да се бутне в Access-ката база. Самата тя съдържа празни таблици със съвпадащи колони като тези, които връща Stored процедурата.
Ако не може, тогава възниква вторият въпрос.
В момента съм го докарал до използване на DataAdapter с fill и после update. Е, в тази ситуация ми се оплака, че липсва InsertCommand, така че направих да се генерира INSERT заявка динамично според колоните за всяка от таблиците. И задънената улица до която стигнах е, че

cmd.Parameters.Add("@" + dc.ColumnName, dc.ColumnName); // (dc - DataColum)

има и параметри DbType и OdbcType, но по DataColumn-а мога да извадя само DataType, но не и DbType и OdbcType.

Някаква идея в тази ситуация? Ясно е, че всичко трябва да става динамично и не мога да фиксирам типовете.

Благодаря предварително!

Отговор
в отговор на kaпитaнчo #2

Re: export to access

Има и overload на конструктора на OleDbParameter(string ParameterName, object ParameterValue) който е не иска DbType.
Правиш си
cmd.Parameters.Add(new OleDbParameter("@" + dc.ColumnName, dc.ColumnName);
и си готов. Не знам дали access-a се оправя. SQLServera си работи добре. Ако му подаваш SqlParameter по този начин.

Редактирано от Blandings Castle на

Отговор
в отговор на Blandings Castle #3

Re: export to access

Ех, мерси, ама не върши работа. По принцип точно такова ми беше решението и ми даваше грешката с типовете.

В момента съм го докарал до хамалски insert-и използвайки fill и може би бачка, но нещо колоните в access-а са калпави и не мога да разбера още

Ако открия нещо, което върши добра работа може да го споделя, ако някой се интересува:)

Отговор
в отговор на kaпитaнчo #4

Re: export to access

Защо не пробваш с DataTransformationServices?

Отговор
в отговор на Paдo #5

Re: export to access

В ADO.NET 2.0 има е една екстра доста мощна BulkCopy, дето мисля че прави точно това, ама не съм сигурен дали може в access

ERASE RACISM
Отговор