Имя: Пароль:
1C
1C 7.7
v7: Как из 1с вызвать хранимую процедуру My SQL ? Помогите плиз
0 sysadminlk
 
19.08.14
10:41
Как из 1с вызвать хранимую процедуру My SQL ? Помогите плиз.

Пробую так:

    Соединение = СоздатьОбъект("ADODB.Connection");                    
    ConnectionString = "driver={SQL Server}; server=snbp\serverdb; uid=mbsms; Pwd=jbh4342342; Database=Primer";                    
    Соединение.Open(ConnectionString);                    
    SMS = CreateObject("ADODB.Recordset");                    
    m_sql="EXEC mbsms.NEWDOK_PR (m_kodv,m_date,m_ro,m_ndok,m_lc1,m_lc2,m_sumv,m_sumn,m_tip,m_tip2,m_flo,m_simvk,m_kom,m_osn,m_otv,m_pa,m_kodnp,m_isys,m_kodto,m_kodkr,m_flcheck)";                    
    SMS.Open(m_sql, Соединение);                    
    Соединение.Close();    


Выдает ошибку:
SMS.Open(m_sql, Соединение);
{D:\TEST.ERT(8)}: Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near 'm_kodv'.
1 ДенисЧ
 
19.08.14
10:42
дык... Может, туда не имена нужно передавать, а значения?
2 Господин ПЖ
 
19.08.14
10:43
(1) зачем... скуль все равно умнее тупого 1с-ника, сам справится
3 ДенисЧ
 
19.08.14
10:44
(2) Ну, MSSQL я бы ещё доверился...
но этой студенческой под(д)елке...
4 sysadminlk
 
19.08.14
11:00
Есть у кого-нибудь пример кода?
5 Apokalipsec
 
19.08.14
11:01
(4) у гугла тонны
6 sysadminlk
 
19.08.14
11:49
может кому пригодится

Процедура ТестСКЛ()                        
                        
    пСоед = СоздатьОбъект("ADODB.Connection");                    
    ConnectionString = "driver={SQL Server}; server=snbp\serverdb; uid=mbsms; Pwd=43u809; Database=Primer";                    
    пСоед.Open(ConnectionString);                    
                        
    пКом = СоздатьОбъект("ADODB.Command");                    
    пКом.ActiveConnection = пСоед;                    
    пКом.CommandType = 4;                    
    пКом.CommandText = "BD.NEWDOK_PR";                    
    пКом.Parameters("@m_kodv").Value = "417";                    
    пКом.Parameters("@m_date").Value = "2014.08.19";                    
    пКом.Parameters("@m_ro").Value = "1";                    
    пКом.Parameters("@m_ndok").Value = "0";                    
    пКом.Parameters("@m_lc1").Value = "1255";                    
    пКом.Parameters("@m_lc2").Value = "45345345";                    
    пКом.Parameters("@m_sumv").Value = "11";                    
    пКом.Parameters("@m_sumn").Value = "11";                    
                        
    пКом.Parameters("@m_tip").Value = "1";                    
    пКом.Parameters("@m_tip2").Value = "0";                    
    пКом.Parameters("@m_flo").Value = "0";                    
    пКом.Parameters("@m_simvk").Value = "0";                    
    пКом.Parameters("@m_kom").Value = "SMS";                    
    пКом.Parameters("@m_osn").Value = "";                    
    пКом.Parameters("@m_otv").Value = "99";                    
    пКом.Parameters("@m_pa").Value = "0";                    
    пКом.Parameters("@m_kodnp").Value = "0";                    
    пКом.Parameters("@m_isys").Value = "SMS";                    
    пКом.Parameters("@m_kodto").Value = "0";                    
    пКом.Parameters("@m_kodkr").Value = "0";                    
    пКом.Parameters("@m_flcheck").Value = "0";                    
                        
    пРС = пКом.Execute("BD.NEWDOK_PR");                    
    Сообщить(пРС);                        
                        
    пСоед.Close();                    
                        
КонецПроцедуры