AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.04.2011, 11:44   #1  
zla is offline
zla
Участник
 
20 / 10 (1) +
Регистрация: 20.12.2007
Импорт SQL файлов формата .mdf в Аксапту
Нужно импортировать данные из SQL файлов формата .mdf в Аксапту через ADO коннектор. Что нужно задавать в качестве Provider? Есть ли у кого-нибудь опыт такого импортирования?
Старый 07.04.2011, 13:45   #2  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
В чем проблема взять MS SQL Server приатачить БД с файлами mdf и ldf и дальше работать с БД SQL Server как обычно?

У вас только mdf файл? Если потеряли ldf, то есть способ воcстановить БД из одного mdf.
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.

Последний раз редактировалось Poleax; 07.04.2011 в 14:44.
Старый 07.04.2011, 14:39   #3  
zla is offline
zla
Участник
 
20 / 10 (1) +
Регистрация: 20.12.2007
Да всё у меня есть, и mdf и ldf файлы, и даже не по одному, только как к ним подступиться из Аксапты я не знаю. Что значит приаттачить MS SQL?

Когда я указал Provider=SQLOLEDB и в качестве Data Source= один из файлов mdf, то при соединении у меня выскочило сообщение:

Метод 'open' в COM-объекте класса 'ADODB.Connection' возвратил
код ошибки 0x80004005 (E_FAIL), который означает: [DBNETLIB][ConnectionOpen (ParseConnectParams()).]Недопустимое подключение.

Не могли бы Вы дать ссылки на подробные примеры, как это сделать? Заранее благодарен.
Старый 07.04.2011, 14:42   #4  
AraraT® is offline
AraraT®
Участник
1C
 
158 / 106 (4) +++++
Регистрация: 13.01.2006
Адрес: Республика Татарстан, г. Казань
Цитата:
Сообщение от zla Посмотреть сообщение
Да всё у меня есть, и mdf и ldf файлы, и даже не по одному, только как к ним подступиться из Аксапты я не знаю. Что значит приаттачить MS SQL?

Когда я указал Provider=SQLOLEDB и в качестве Data Source= один из файлов mdf, то при соединении у меня выскочило сообщение:

Метод 'open' в COM-объекте класса 'ADODB.Connection' возвратил
код ошибки 0x80004005 (E_FAIL), который означает: [DBNETLIB][ConnectionOpen (ParseConnectParams()).]Недопустимое подключение.

Не могли бы Вы дать ссылки на подробные примеры, как это сделать? Заранее благодарен.
В Management Studio в разделе баз данных нажать правой кнопкой мыши выбрать Attach Database (Присоединить базу данных), в открывшемся окне указать фалы *.mdf, *.ldf
__________________
Айрат Вильданов.
skype: vildanov.a
Старый 07.04.2011, 15:02   #5  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Цитата:
Сообщение от zla Посмотреть сообщение
Да всё у меня есть, и mdf и ldf файлы, и даже не по одному, только как к ним подступиться из Аксапты я не знаю. Что значит приаттачить MS SQL?
How to: Attach a Database (SQL Server Management Studio)
или
Как присоединить базу данных (среда Microsoft SQL Server Management Studio)
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.
Старый 07.04.2011, 15:19   #6  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Цитата:
Сообщение от zla Посмотреть сообщение
Когда я указал Provider=SQLOLEDB и в качестве Data Source= один из файлов mdf, то при соединении у меня выскочило сообщение:
....
Приведу один из многих способов читать таблицу в БД на SQL Server:
X++:
static void Job_ExecuteReader(Args _args)
{

    System.Data.SqlClient.SqlConnection     sqlConnection;
    System.Data.SqlClient.SqlTransaction    transaction;
    System.Data.SqlClient.SqlDataReader     dataReader;
    System.Data.SqlClient.SqlCommand        command;

    str  200 comandText;
    str      _server = "SRV-AXP";
    str      _db    = "DynamicsAx2009";
    str      _table = "LedgerTable";

    str connectionString = "Data Source=" + _server
                         + ";Initial Catalog=" + _db
                         + ";Trusted_Connection=True;";
    //http://www.connectionstrings.com/sql-server-2008

    CodeAccessPermission permission = new InteropPermission(InteropKind::ClrInterop);

    ;
    try
    {
        permission.assert();
        sqlConnection = new System.Data.SqlClient.SqlConnection();
        sqlConnection.set_ConnectionString(connectionString);
        command = sqlConnection.CreateCommand();
        comandText = "select TOP 1 * from  "+ _table;
        command.set_CommandText(comandText);
        sqlConnection.Open();
        dataReader = command.ExecuteReader();

       while (dataReader.Read())
        {
            info( dataReader.get_Item("DataAreaID") );
        }
        dataReader.Close();

        sqlConnection.Close();

        CodeAccessPermission::revertAssert();
    }
    catch(Exception::CLRError)
    {
        throw error(AifUtil::getClrErrorMessage());
    }
}
P.S. Может пиргодится
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.

Последний раз редактировалось Poleax; 07.04.2011 в 15:21.
Старый 07.04.2011, 16:04   #7  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
при наличии SQL ExpessEdition можно и прям к файлу цепляться
http://www.connectionstrings.com/sql-server-2005
За это сообщение автора поблагодарили: Poleax (1).
Старый 07.04.2011, 16:50   #8  
zla is offline
zla
Участник
 
20 / 10 (1) +
Регистрация: 20.12.2007
Благодарю всех за ценные подсказки. Забыл только сказать (точнее, постыдился), что я работаю с такой архаикой, как Аксапта 3.0. Поэтому не всё сказанное я смогу применить.
Старый 08.04.2011, 09:10   #9  
TravellerInTime is offline
TravellerInTime
Участник
Аватар для TravellerInTime
 
130 / 36 (2) +++
Регистрация: 14.07.2003
Адрес: Россия, Тула
Цитата:
Сообщение от zla Посмотреть сообщение
я работаю с такой архаикой, как Аксапта 3.0. Поэтому не всё сказанное я смогу применить.
Всё выше сказанное прекрасно работает на 3.0!
Просто вместо .нетовских классов используйте:
CCADOConnection adoConnection;
CCADOCommand adoCommand;
CCADORecordSet adoRecordSet;
смысл от этого не меняется.

Последний раз редактировалось TravellerInTime; 08.04.2011 в 09:20.
За это сообщение автора поблагодарили: Poleax (1).
Старый 08.04.2011, 09:18   #10  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Цитата:
Сообщение от zla Посмотреть сообщение
я работаю с такой архаикой, как Аксапта 3.0. Поэтому не всё сказанное я смогу применить.
Способов то много есть, выбирайте Connecting to Databases through X++

P.S. Повторил ссылку из первого поста.
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.
Теги
executequery, sql, sql server

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Оптимизация SQL сервера под Аксапту. 3oppo DAX: Администрирование 23 03.08.2010 14:08
SQL 2000 восстановление базы из MDF otkudao DAX: Администрирование 10 25.03.2008 22:17
Импорт данных из DBF в Аксапту Protey DAX: Программирование 1 23.05.2007 14:52
Импорт в Аксапту из Excel Freeangel DAX: Программирование 1 09.02.2006 09:13
MS SQL и хранение в них файлов blacky DAX: Программирование 10 29.11.2002 12:35

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:20.