none
SQL SERVER R SERVICES- help RRS feed

  • Question

  • I'm doing an analysis to a database. I have to work on SQL and statistically process data. 

    I have some doubts:
    1) How i call R for SQL (the code)? I have to always create a procedure?

    2) How i call the database to the code R?

    3) Is there a site where has  SQL SERVER R SERVICES FREE course? 

    Friday, November 4, 2016 4:28 PM

All replies

  • I don't think you will be calling R from SQL Server.  It's the other way around.

    library(RODBC)
    dbconnection <- odbcDriverConnect("Driver=ODBC Driver 11 for SQL Server;Server=RSHUELL00193\\SQLEXPRESS; Database=TestDB;Uid=; Pwd=; trusted_connection=yes")
    initdata <- sqlQuery(dbconnection,paste("select * from MyTable;"))
    odbcClose(channel)




    http://stackoverflow.com/questions/15420999/rodbc-odbcdriverconnect-connection-error

    https://andersspur.wordpress.com/2013/11/26/connect-r-to-sql-server-2012-and-14/


    MY BOOK


    • Edited by ryguy72 Friday, November 4, 2016 6:49 PM
    Friday, November 4, 2016 6:48 PM
  • @ClaudiaFreitas

    I am not sure what you mean by "How I call R for SQL" in question 1) 

    As far as getting answers to your other two questions ... I recommend you consider loading "R Tools for Visual Studio" (https://microsoft.github.io/RTVS-docs/) and then following the excellent Examples (https://microsoft.github.io/RTVS-docs/samples.html) ... download the .zip file.

    Another resource that may be helpful is "Using R Code in Transact-SQL (SQL Server R Services)" (https://msdn.microsoft.com/en-us/library/mt591996.aspx?f=255&MSPPError=-2147217396)


    SOTATS, Inc.

    Monday, November 7, 2016 12:41 AM
  • But now in SQLSERVER 2016 you can work with R inside a query .
    Monday, November 7, 2016 9:14 AM
  • Thanks for the link but it is possible call or work with R in management studio 2016.
    I don't know how code i use
    Monday, November 7, 2016 9:17 AM
  • @ClaudiaFreitas:

    YES, with SQL 2016 you can execute R script directly in SSMS 2016 like you do with T-SQL.  Basically you will be using a T-SQL function to run variables that have syntax of R script.

    There are two prerequisites

    1. Make sure SQL Server R Services (In Database) i.e., "SQL Server Launchpad (MSSQLSERVER)" is running ... confirm via Configuration Manager
    2. Make sure the configuration option "external scripts enabled" is running ... if not ... EXEC sys.sp_configure 'external scripts enabled',1; ... restart SQL Server Service

    Next confirm whether R is working in SQL Server (notice @language = R):

    EXEC [master].sys.sp_execute_external_script
     @language = N'R'
    ,@script = N'OutputDataSet<-InputDataSet'
    ,@input_data_1 = N'SELECT SayWhat = ''Say - Its Working'''
     WITH RESULT SETS (([SayWhat] VARCHAR(20) NOT NULL));   
    GO

    Fetch some SQL Server table the data using R script (notice @language = R):

    EXEC [master].sys.sp_execute_external_script
     @language = N'R'
    ,@script = N'OutputDataSet<-InputDataSet'
    ,@input_data_1 =
    N'SELECT TABLE_SCHEMA,TABLE_NAME
    FROM [<ReplaceWithYourTableName>].INFORMATION_SCHEMA.TABLES
    WHERE TABLE_TYPE = ''BASE TABLE''
    ORDER BY TABLE_NAME;'
     --WITH RESULT SETS (([TABLE_SCHEMA] VARCHAR(5) NOT NULL));
    WITH RESULT SETS
    (
     (
       [TABLE_SCHEMA] VARCHAR(5) NOT NULL
      ,[TABLE_NAME] VARCHAR(20) NOT NULL
     )
    );


    SOTATS, Inc.

    Monday, November 7, 2016 12:02 PM
  • Thank you, so much!

    It Works :)
    Monday, November 7, 2016 12:16 PM
  • @ClaudiaFreitas:

    I had a typo in my FROM syntax, it should have read FROM [<ReplaceWithYourDatabaseName>] ... etc

    You can also call R functions ... the examples above have language = R but still it is essentially T-SQL syntax.  An example that includes actual R is show below.  It uses a SQL temp table but has R functions:

    DROP TABLE IF EXISTS #RData
    CREATE TABLE #RData ([Col1] INT NOT NULL)
    INSERT INTO #RData VALUES (1),(10),(100);   
    EXEC [master].sys.sp_execute_external_script
     @language = N'R'
    ,@script = N'
    x <- as.matrix(InputDataSet);
    y <- array(12:15);
    OutputDataSet <- as.data.frame(x %*% y);'
    ,@input_data_1 = N'SELECT [Col1] FROM #RData;'
    WITH RESULT SETS (([Col1] int, [Col2] int, [Col3] int, [Col4] int));


    SOTATS, Inc.

    Monday, November 7, 2016 10:44 PM
  • I understand what you say but if i have a database where and how i can put in "@scrtipt=" ? I think that we have do indicate the data base to the code R or not?

    For example: 

    1) This have a lot errors 

    EXECUTE sp_configure;

    RECONFIGURE;

    EXECUTE sp_configure 'external scripts enabled', 1;

    use QUI2016

    EXEC sys.sp_configure 'external scripts enabled',1
    EXECUTE sp_execute_external_script
    @language=N'R'
    , @script=N' 
    source -> withVisible -> eval -> eval-> install.packages(sqldf)
    source -> withVisible -> eval -> eval-> library(sqldf)
    #citation("sqldf")
    #data()

    sqldf("SELECT CLIENTE, SUM(VALT_EUR) FROM QUIfactu
    GROUP BY CLIENTE") ;'
    , @input_data_1 = N''    
    WITH RESULT SETS (([CLIENTE] NVARCHAR(200),[VALORTOT] float));

    go

    2) I think that is this correct not the another one 

    EXECUTE sp_configure 'external scripts enabled', 1;
    GO
    USE QUI2016
    GO
    SELECT *FROM QUIfactu
      execute sp_execute_external_script    
        @language = N'R'    
      , @script = N' 
     OutputDataSet <- read.dcf("dbo.QUIfactu", fileds=NULL, all=FALSE, Keepwhite=NULL)
     barplot("quidfactu") '
    , @input_data_1 = N'SELECT CLIENTE, SUM(VALORSIV) FROM QUIfactu
    GROUP BY CLIENTE;'    
      WITH RESULT SETS (([CLIENTE] NVARCHAR(255),[VALORTOT] NVARCHAR(255)));

    Tuesday, November 8, 2016 9:16 AM
  • @ClaudiaFreitas, I will take a deeper look at it and get back to you.  It would be helpful to have some short simple DDL for QUIfactu so I can run your script

    You should know that once 'external scripts enables' is configured and  "Running" on your SQL instance you do not / should not keep setting it in each script you run

    i.e., In future scripts do not include EXECUTE sp_configure 'external scripts enabled', 1;


    SOTATS, Inc.

    Tuesday, November 8, 2016 9:59 AM
  • ah I didn't know that. 
    I put because I thought it was always necessary.

    Sorry, i cannot provide part of the database because the values ​​are protected by the company and I'm just intern.

    QUIfactu is a table in the database QUI2016 that contains customer invoices with their values. I wanted to make an R statistical analysis but i am still take the first steps in SQL Server R services.

    I just need to know how to call the table for r code and from there maybe could have understanding the necessary code. 
    I just thank you for all your attention


    Tuesday, November 8, 2016 10:23 AM
  • @ClaudiaFreitas, your syntax and use of R functions appear all wrong to me in both cases ... perhaps others know better than I ... the effort to explain and fix it might be considerable ... hopefully someone else might add to this conversation

    What are you trying to accomplish ... maybe there is a better way to do this if you can describe what output / results you are seeking


    SOTATS, Inc.

    Tuesday, November 8, 2016 11:03 AM
  • Sorry for not responde to you but i did   some courses online for understand the code but thanks for your help.

    Know i can't see the graphs i create in Microsoft SQL Server Management Studio. I wrote the code with r script and reply that

    plot
    0xFFD8FFE000104A46494600010100000100010000FFDB004300080606070605080707070909080A0C140D0C0B0B0C1912130F141D1A1F1E1D1A1C1C20242E2720222C231C1C2837292C30313434341F27393D38323C2E333432FFDB0043010909090C0B0C180D0D1832211C213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232FFC000110801F401F403012200021101031101FFC4001F0000010501010101010100000000000000000102030405060708090A0BFFC400B5100002010303020403050504040000017D01020300041105122131410613516107227114328191A1082342B1C11552D1F02433627282090A161718191A25262728292A3435363738393A434445464748494A535455565758595A636465666768696A737475767778797A838485868788898A92939495969798999AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F0100030101010101010101010000000000000102030405060708090A0BFFC400B51100020102040403040705040400010277000102031104052131061241510761711322328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728292A35363738393A434445464748494A535455565758595A636465666768696A737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00F7FA28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A290F0A7E95E111FC6B847C2F9525F107FC56237851F623D7CD38FF00967E5FDCC7FF00AE85ABB7A7E2EC3B753DE28AF3BD47E211D0AF7C632DCC17573168D159B243E6C6119A65E02E101419232599FD401D0D1BFF00897AF4DF0E356D7EC741B48AE6D1C461A2D560BC89148E64DD19E59723E42075079E4526EC9B04AF6F3FF2B9EA54579E37C41D71574CD32CFC252EA1E219AC85E5DDA0BE8E3482324A863291B496201C01DFDA9D2FC50FB4E9DA29D0F40BAD4756D51A655D3A49960311878977BB640C1E9EBEDD2A9AB3B7F5FD684A77573D068AF38B8F8A92C3E1BB8D597C3970D2C5ACFF00648B233812337AFDD203678DBC8FF6A9FE22F883E23F0D6876BA95FF008321883A335C2CBAE411AC2C09DA8A48CC8E554B6147A01939C2BF5FEBB8D2BE87A2515E67AAFC58BAB79C2E91E179B528BFB1E3D61E4FB5AC3E5C2D9CEE054F2063A649F4E2B4FC2DF111FC47E224D326D02EB4E86EAC06A1613CD3231B88720659573B0F3C0C9E3D38A7677B7F5D7FC9FDC2BE97FEBA7F9A3B9A2B8FF1278D2FB4DD7E2D0741F0F4BAE6A86DFED53442E92DD228B3B412EC08249ED5C87887E22F887545F0C7FC22FA75CC116A73C914DFBD812712A6E0F07EF5595718DDB88E781C525ADADD7FE186F4DCF5FA2B9CF1778A0F8574CB478AC25D4AFEF6E52D2D2D52458CCB2B7AB118518079C579E6A3F10FC610699E35BA1A5BDA5D69A2D552D269226FB06F8CEF903018946EC11D7391C75149BB5DF6FF0081FE68695EDE67B3515E11E27F1478F2C6D342377A94DA0C1242B2BDEDC42970924ED210239648A308AA1406C05E84E7711C7730789F54D3BC696B0EB17D6B2693A868DF6B85ADF06149E200CBE5BE01652A770C9E94DE97BF9FE0AFFA3253BEDFD5FF00E1D1DF515E543C4DE2A7F871A5DCADF05F10788AF956C098108B689D8B0F976E182C6A4E48279A9CF8DB55B9F0B7826F62B8F26EEF75686C3525F2D4EE61B9655C11F2E5973C60D349DEDE8BEFFF002D9F98DBD2FEBF87F9DB43D3A8AE4FC7DAFEA3A369B6169A37929AA6AD789636D34C329096049723BE00E07AE3AF4AC6B6BEF16784BC59A4699AFEBD06BD63AC19228E6FB125B4B6F2A2961C21C3291EBCFD3BCDFA83D0F45A2BE70D33E25789EF34F827B6F1D35F6BCD3613C3CBA129F380931B7CE55030506E2460F6CE79AFA3972546460E391556D2E0F4972FF5D85A28A2900514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140011904570D17C3AF2BE1649E0AFED5CEF0C3ED9F67E9BA5327DCDDEF8FBD5DCD147F5F76A34DA38E9BC0D2BEA1E28BC8757F264D72182200D9A4A21F290AFCCAFB96456CF2081C719EF589A67C228ECF40F10D85D6B092DCEB30AC0D3DAE9D15AC712AE4AE218FE5272793C647A75AF4CA295B4B7C849DBFAFEBB1E7D3FC3CD6C4961A8D878C65B3D7A0B4FB15C5F2E9F1BA5CC218B28311385238E41EDEF583E2BF09BF84B48F0ECBA0BF88A4D4EC259F17FA7E9E97CEC651990CB1B32FDE3D0F20639E706BD7E8A6DBBDFF00AFEB505647937853C15A86B3E12CEA2D79A73BF888EB11ADF441A7745618122E46D66C1CFA7A56B78CBE1647E2FF00117F6A36AC2DA392D45ACF0BD8C5704A82C418DDF3E51F9BAA8CFB8AF43A28767FD7925F920575FD79DFF3380B4F868D6D15C236B01CCDE1E5D0F22D718DA08F37EF9F5FBBFAD69E97E0AFECDD7F48D53FB43CCFECFD20697E57938F33041DF9DDC74E983F5AEB28A7777BFF005D7FCD8ADA5BFAE9FE48E3FC49E0BBED4B5F8B5ED07C432E87AA0B7FB2CD28B54B84962CEE00A3100107BD4369F0E6DEC13C3296DA8CA468B752DD48F326F7BA924077127236F2C4F43E9EF5DB514969FD7CC6F5DCE77C61E16FF84A74EB58E1D424D3AFACAE52EECEEE38C49E548B9C12A78618278AE723F8637B2691E27B5D47C4D25F5E6BF1C4B2DDBD9AA18CA0C6422B0047A018C7BD7A2D14ACACD77FF81FE4877D8E0BC59E02D635A934F7D27C5171A7AC31C70DC40F1896170BD24543C2BF27EA303231CC9E22F86561ADF84748F0F5B5ECF651E98CA229C0DEED1ED28E8791F7949CFF002C715DCD14FF00CEFF00A8969B76B1C6F897E1D699E2CD574B7D59BCDD234F81E34D394320676C00FBD581180A0631F8D61C9F089EDB4E361A1EBE74DB787565D52C54DA79FF0065609B76FCEFF30CE0E4FA7439AF4EA28FEBF50FEBF43879BC09AB6ADA04B61E22F15CFA85E25C25CD8DFC1671DABDA48A38202921B93CE7B1EDD69DA3F81B528F5FB7D6BC4DE289F5EBAB3465B25FB225B450161866D884EE6C719EDEFC63B6A28FEBF403CF53E16C71F8234CD122D59A2D4F4B9DEE2CB558EDF0F13B485CFC9BB9041C11BB0700D77F0891618D6675794280ECABB431C7240C9C0F6C9A7D14EE0F577FEBB85145148028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A2B93D7B49D3759F1D6896FAA69F697D02E997CEB1DD42B2A86F36D064060467048CFB9A00EB28AE7FFE104F07FF00D0A9A1FF00E0BA1FFE268FF8413C1FFF0042A687FF0082E87FF89A00E828AE7FFE104F07FF00D0A9A1FF00E0BA1FFE26B0FC69E0BF0ADAF817C43716FE1AD1A19E2D32E5E3923B089591844C41042E41079CD00779451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014570773E2F9D351BD86E3C55E18D11A1B87896CF5280B4E154E15C93711F0C3E6185C618726BA7F0E6A536AFA1C17B3AC7BDCBAEF88111CCAAC544880E48570030E4F0C393D48B55707A3B1AB4514500145145001451450015CFDE7FC943D1BFEC157FFF00A36D2BA0AE7EF3FE4A1E8DFF0060ABFF00FD1B69401D051451400573FE3BFF009279E25FFB055D7FE8A6AE82B9FF001DFF00C93CF12FFD82AEBFF453500741451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450070773A85F8D46F5750D67C4F6122DC3AC7069BA28B880459F90893ECD26495C13F370491818C574FE1C9AFEE343825D4449F6825C06963F2E478C3108CE981B5993692B818248C0E8398B9D3AFBFB46F5B50D23C4FA848F70ED1CFA6EB5F6783CA27E4511FDA63DA42E01F979209C9CE6BA7F0E437F6FA1C116A264FB402E42CB279922465894577C9DCCA9B416C9C904E4F5247E1FB825B9AB4565EA5E1AD0759B85B8D5344D36FA75408B25D5AA4AC1724E01604E3249C7B9AC7D0749D3746F1D6B76FA5E9F69630369962ED1DAC2B1296F36EC64850067000CFB0A00EB28A28A0028A28A002B9FBCFF009287A37FD82AFF00FF0046DA57415CFDE7FC943D1BFEC157FF00FA36D2803A0A28A2800AE7FC77FF0024F3C4BFF60ABAFF00D14D5D0573FE3BFF009279E25FFB055D7FE8A6A00E828A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A00E0F51F096A4FA9395D2744D5ECA4B996E665D46E593CE67FBA1D3C9704C600556C9F978C0EB5D5E85A7CBA5E910DA4AEACCA5DB6A7DC88331611A7FB280851D3851C0E95A3450B45607ABB8573F67FF00250F59FF00B05587FE8DBBAE82B9FB3FF9287ACFFD82AC3FF46DDD0074145145001451450015CFDE7FC943D1BFEC157FFF00A36D2BA0AE7EF3FE4A1E8DFF0060ABFF00FD1B69401D051451400573FE3BFF009279E25FFB055D7FE8A6AE82B9FF001DFF00C93CF12FFD82AEBFF453500741451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014563DEF8B7C37A6DDBDA5FF8834AB5B98F1BE19EF63475C8C8CA9391C1AD4B7B886EEDE3B8B79A39A09543C7246C195D4F20823820FAD00495CFD9FF00C943D67FEC1561FF00A36EEBA0AE7ECFFE4A1EB3FF0060AB0FFD1B77401D05145140051451400573F79FF250F46FFB055FFF00E8DB4AE82B9FBCFF009287A37FD82AFF00FF0046DA500741451450015CFF008EFF00E49E7897FEC1575FFA29ABA0AE7FC77FF24F3C4BFF0060ABAFFD14D401D051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451401E7EFA9DC691A85FDAE91AAEEB7FB5C9238FF008466F6FB648EDB9D7CE85C236189E3195E87A574FE1586DA2F0F41F65BAFB5248F24CF288CC7991DD99C6C3CA618B0D8795C60F20D73121BD37D7DFD803C562CBED52EEFB07F66F91E76E3E6ECFB47EF3EFEECE78CE71C5751E16FB1FF006043F63FB46DDF279BF69C79BE76F6F377E3E5DDE66FCEDF973D38C511F87EE096E6C573F67FF250F59FFB05587FE8DBBAB9A94FAF4570ABA5E9BA6DCC1B0167BAD41E060D93C05585C118C739EE78E39C7D064D4A5F1D6B6DAA5A5A5B4FFD9962152D6E5A752BE6DDF259A3420E73C63B0E79E003ACA28A2800A28A2800AE7EF3FE4A1E8DFF0060ABFF00FD1B695D0573F79FF250F46FFB055FFF00E8DB4A00E828A28A002B9FF1DFFC93CF12FF00D82AEBFF0045357415CFF8EFFE49E7897FEC1575FF00A29A803A0A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2803CE59AC35ABF9E3D22D273A93DD5D2DC411F882EACE0430C8119984390AEFB91B1B390C493D0B761E1A7B56D0A15B4B6FB3C713C90B47BCBE24476573BCF2F960C771E5B393C9AB92E99A7CF7F1DF4D636D25E468634B87894C8A87AA8623201C9E3DEA6B7B786D2DE3B7B78638608942471C6A155147000038007A50B45607ABB92573F67FF00250F59FF00B05587FE8DBBAE82B9FB3FF9287ACFFD82AC3FF46DDD0074145145001451450015CFDE7FC943D1BFEC157FFF00A36D2BA0AE7EF3FE4A1E8DFF0060ABFF00FD1B69401D051451400573FE3BFF009279E25FFB055D7FE8A6AE82B9FF001DFF00C93CF12FFD82AEBFF45350074145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450015CFD9FFC943D67FEC1561FFA36EEBA0AE7ECFF00E4A1EB3FF60AB0FF00D1B77401D05145140051451400573F79FF00250F46FF00B055FF00FE8DB4AE82B9FBCFF9287A37FD82AFFF00F46DA500741451450015CFF8EFFE49E7897FEC1575FF00A29ABA0AE7FC77FF0024F3C4BFF60ABAFF00D14D401D051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451401C1DCEA17E351BD5D4359F13D848B70EB1C1A6E8A2E201167E4224FB349925704FCDC124606315D3F8726BFB8D0E09751127DA09701A58FCB91E30C4233A606D664DA4AE06092303A0E62E74EBEFED1BD6D4348F13EA123DC3B473E9BAD7D9E0F289F91447F698F690B807E5E48272739AE9FC390DFDBE87045A8993ED00B90B2C9E64891962515DF27732A6D05B27241393D491F87EE096E6AD73F67FF250F59FFB05587FE8DBBAB9A9789741D1AE16DF54D6F4DB19D903AC7757491315C919018838C8233EC6B1F41D5B4DD67C75ADDC697A85A5F40BA658A3496B32CAA1BCDBB38254919C1071EE2803ACA28A2800A28A2800AE7EF3FE4A1E8DFF0060ABFF00FD1B695D0573F79FF250F46FFB055FFF00E8DB4A00E828A28A002B9FF1DFFC93CF12FF00D82AEBFF0045357415CFF8EFFE49E7897FEC1575FF00A29A803A0A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A28020BCBC8AC2D1EE671298931BBCA89A46E4E3EEA827BF3C70393C543A6EAFA66B3034FA5EA3697D1236C692D6759555BAE095279E4553F155E4D61E1ABCBA81E78E48D548785954A0DC32C5991C2A8192CDB4E14120645737A247E16D57C42B0D9456BAAC96F12DCA6A916A8F7D2DB3861FBB32B12D1827A286C380F951CE45AB07A2B9DED1451401E7FA8F8585B5CEA37D7DE1AF0A6AB134D25C36A3AB5C7972AA139DAF982401507CA0EEC614702BABF0E69B3693A15BD9CED19742EC12224C712B31658D09C12880851C0E14703A0E67C49F0AF41D6E4D42EED2DAD2CB50BE5613CD259A4EAC48C6FDADCA30C920A32658E5B76315D969FA7D9E97651D9D85AC16B6D18F96282311A0C9C9C28E064927F1A23A46C12D5DCB35CFD9FF00C943D67FEC1561FF00A36EEBA0AE7ECFFE4A1EB3FF0060AB0FFD1B77401D05145140051451400573F79FF250F46FFB055FFF00E8DB4AE82B9FBCFF009287A37FD82AFF00FF0046DA500741451450015CFF008EFF00E49E7897FEC1575FFA29ABA0AE7FC77FF24F3C4BFF0060ABAFFD14D401D051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514018BE2BBBBEB2F0DDD4FA779FF006906300DBDB99E5552EA1D91003B9829623208C8E78CD51F0E5D79FA83AFF6D7892F71113E5EA7A4FD9631C8E437D9A3CB7B6E3D4F1C71ABE218750B8D0EE62D2DD92E8EDC6D708CCBB86F5563F758AEE00F6241E3AD73FE11B5D7E2BD56BFB6D46D2D228A68D92FEF56E1A5CCC5A1236C8FCAA12ACC48272A390A0823BB07B23B3A28A2800A28A2800AE7ECFF00E4A1EB3FF60AB0FF00D1B775D0573F67FF00250F59FF00B05587FE8DBBA00E828A28A0028A28A002B9FBCFF9287A37FD82AFFF00F46DA57415CFDE7FC943D1BFEC157FFF00A36D2803A0A28A2800AE7FC77FF24F3C4BFF0060ABAFFD14D5D0573FE3BFF9279E25FF00B055D7FE8A6A00E828A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A00C8F13BDA47E1DBB6BF834B9ED805DF1EAB308AD8FCC31BD8AB01CE31F29E715C4785EEBC336FE2C8AF2DA7F03E96CF6ED6AB6FA3EA114B25CBBBA15CFEEE3C636E000093BBD8576FE2882D6E3C397897B77F64800563315DC015605415FE304800AFF1038EF58FE1CB94D535A8F50BAD5A1BBBDFB24890470E9B2D90F2FCC024DCB2B333307403191B73C8F98124777FD74096DFD791D7D1451401CF9F13CF2CF3AD8787356D420865784DC40F6CA8CEA76B01E64CADC302338EA0E335A9A5EA50EADA7A5DC292460B323C72801E37562AE8D82464302382471C1239AE2DF4DB9D6350BFBAD2B490B6E2EE48988F135E58EF911B6BB1861428B9604E7396EA7AD74FE159ADA5F0F41F65B5FB2A46F242F1090C98911D95CEF3CBE5831DE796CE4F24D11D57DC12D19B35CFD9FF00C943D67FEC1561FF00A36EEBA0AE7ECFFE4A1EB3FF0060AB0FFD1B77401D05145140051451400573F79FF250F46FFB055FFF00E8DB4AE82B9FBCFF009287A37FD82AFF00FF0046DA500741451450015CFF008EFF00E49E7897FEC1575FFA29ABA0AE7FC77FF24F3C4BFF0060ABAFFD14D401D051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514018BE2C11FFC2393F9B6975728248894B40E654FDE2FEF102AB12C9F7C0C1CEDE78AC6F08D9E990EA4CD0DDF882F2E52394C6FAA69D25B246B2481E40A7C98D4966C1E7278E3001AD3D726D5ED35AB0BAB0D3AF6FED45B5C473456B344B8918C46362B24880E02BF3C919F7A7F87352D62E6D2DADF57D12FED2E92DD7CFB999ED8C7248000D81148C79393F740FA74A23D584B648DDA28A2803CAF577D0F51D73509757BBF01E9F76970D1793ACE9892DD145F955D99A64243280C3E5C6D23935DDF856EFEDBE1AB3945BDBC31A868E316C9B2174462AAF1AF6465019464E030E4F5AC716FE25BFBEBB76D6EF34E862BB9165863B389B10804C460668DB7161B4B6776092A02915BDE1F9AF67D16093501279C4B856963F2E478C3108EEB81B5993692303049181D011F87EE096E26A5A55E5F5C2CB6FE20D4B4F40814C56B1DBB29393F31F322739E71D71C0E3AE71F41B29EC7C75ADC571A9DDEA0E74CB1612DD2C4AC079B77F28F2D10638CF4CF279E98EB2B9FB3FF009287ACFF00D82AC3FF0046DDD0074145145001451450015CFDE7FC943D1BFEC157FF00FA36D2BA0AE7EF3FE4A1E8DFF60ABFFF00D1B69401D051451400573FE3BFF9279E25FF00B055D7FE8A6AE82B9FF1DFFC93CF12FF00D82AEBFF0045350074145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450015CFD9FF00C943D67FEC1561FF00A36EEBA0AE7ECFFE4A1EB3FF0060AB0FFD1B77401D05145140051451400573F79FF250F46FFB055FFF00E8DB4AE82B9FBCFF009287A37FD82AFF00FF0046DA500741451450015CFF008EFF00E49E7897FEC1575FFA29ABA0AE7FC77FF24F3C4BFF0060ABAFFD14D401D051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400515C1DCE9D7DFDA37ADA8691E27D4247B8768E7D375AFB3C1E513F2288FED31ED21700FCBC904E4E735D3F8721BFB7D0E08B51327DA017216593CC91232C4A2BBE4EE654DA0B64E482727A916AAE0F476356B9FB3FF9287ACFFD82AC3FF46DDD7415CFD9FF00C943D67FEC1561FF00A36EE803A0A28A2800A28A2800AE7EF3FE4A1E8DFF0060ABFF00FD1B695D0573F79FF250F46FFB055FFF00E8DB4A00E828A28A002B9FF1DFFC93CF12FF00D82AEBFF0045357415CFF8EFFE49E7897FEC1575FF00A29A803A0A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2803CAF568F40D3B5CD422D52D7C05A8DDBDC34A66D6752486E82B7CCA8CAD0B901410A3E6FBA0702BBBF0ADA7D8BC356710B8B79A360D2466D9F7C288EC595236EE8AA42A9C0C851C0E95CF5BDD5C59EB379A6E8FE20B186392F24602F7469E45F39DB73C62E04A91BB6E270A3E600639DA6BA2F0C416F6DA2886DEEBED3B6E27F3A51198C19BCD7F342A9FBAA1F70032780393D491F87EE096FFD7F5FD79126A5AFD9E9570B05C43A93BB20706D74DB8B85C648E5A34600F1D339E9EA2B1F41D4E0D57C75ADCF6F1DDA22E9962845D5A4B6ED9F36ECF0B22A9239EB8C75F435D6573F67FF00250F59FF00B05587FE8DBBA00E828A28A0028A28A002B9FBCFF9287A37FD82AFFF00F46DA57415CFDE7FC943D1BFEC157FFF00A36D2803A0A28A2800AE7FC77FF24F3C4BFF0060ABAFFD14D5D0573FE3BFF9279E25FF00B055D7FE8A6A00E828A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A00CB8B40B28EDEFED640D3D9DE4AD2BDACD8644663B9B6F19E5896E49C13C629FA268F0685A62D8DBCD7134624925F32E24DEE4BB97396EFCB1E4F3EA49E6B468A002B9FB3FF009287ACFF00D82AC3FF0046DDD7415CFD9FFC943D67FEC1561FFA36EE803A0A28A2800A28A2800AE7EF3FE4A1E8DFF60ABFFF00D1B695D0573F79FF00250F46FF00B055FF00FE8DB4A00E828A28A002B9FF001DFF00C93CF12FFD82AEBFF45357415CFF008EFF00E49E7897FEC1575FFA29A803A0A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A2B9B8B5BD7B509AE9B4AD1F4D96D21B892DC3DD6A4F0C8CC8C55894581C019071F3723078CD69E89AA7F6C69697661F264DF2452461F78574728DB5B0372EE538381918E074A16AAE0F4346B9FB3FF9287ACFFD82AC3FF46DDD7415CFD9FF00C943D67FEC1561FF00A36EE803A0A28A2800A28A2800AE7EF3FE4A1E8DFF0060ABFF00FD1B695D0573F79FF250F46FFB055FFF00E8DB4A00E828A28A002B9FF1DFFC93CF12FF00D82AEBFF0045357415CFF8EFFE49E7897FEC1575FF00A29A803A0A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2803CAF577D0F51D73509757BBF01E9F76970D1793ACE9892DD145F955D99A64243280C3E5C6D23935DDF856EFEDBE1AB3945BDBC31A868E316C9B2174462AAF1AF6465019464E030E4F5AE72E750BF1A8DEAEA1ACF89EC245B8758E0D3745171008B3F21127D9A4C92B827E6E09230318AE9FC3935FDC68704BA8893ED04B80D2C7E5C8F1862119D3036B326D25703049181D011F87EE097C46AD73F67FF00250F59FF00B05587FE8DBBAB9A968167AADC2CF7136A48EA8100B5D4AE2DD71927958DD413CF5C67A7A0AC7D074C834AF1D6B705BC976E8DA658B9375772DC367CDBB1C348CC40E3A671D7D4D0075945145001451450015CFDE7FC943D1BFEC157FF00FA36D2BA0AE7EF3FE4A1E8DFF60ABFFF00D1B69401D051451400573FE3BFF9279E25FF00B055D7FE8A6AE82B9FF1DFFC93CF12FF00D82AEBFF004535007414514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500734F1F8CE4D62F228EF74682C170D6D2BE9D24ACC0E72AD8B85F997039C60E41E390376C52F23B445BF9E09EE4677C90426243CF1852EC4718FE23FD2AC51474B00573F67FF250F59FFB05587FE8DBBAE82B9FB3FF009287ACFF00D82AC3FF0046DDD0074145145001451450015CFDE7FC943D1BFEC157FF00FA36D2BA0AE7EF3FE4A1E8DFF60ABFFF00D1B69401D051451400573FE3BFF9279E25FF00B055D7FE8A6AE82B9FF1DFFC93CF12FF00D82AEBFF0045350074145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450014514500145145001451450015CFD9FF00C943D67FEC1561FF00A36EEBA0AE7ECFFE4A1EB3FF0060AB0FFD1B77401D05145140051451400573F79FF250F46FFB055FFF00E8DB4AE82B9FBCFF009287A37FD82AFF00FF0046DA500741451450015CFF008EFF00E49E7897FEC1575FFA29ABA0AE7FC77FF24F3C4BFF0060ABAFFD14D401D051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400515C1DCEA17E351BD5D4359F13D848B70EB1C1A6E8A2E201167E4224FB349925704FCDC124606315D3F8726BFB8D0E09751127DA09701A58FCB91E30C4233A606D664DA4AE06092303A016AAE0F476356B9FB3FF009287ACFF00D82AC3FF0046DDD5CD4A7D7A2B855D2F4DD36E60D80B3DD6A0F0306C9E02AC2E08C639CF73C71CD3D1ACB58FF848752D5B56B6B1B6FB45A5B5B4715A5D3CFF00EADE662C4B4698CF9C06003D0D007415C5E9FE1AD0759F1278AAE354D134DBE9D7538D164BAB549582FD8ED8E01604E3249C7B9AED2B974B5F12699AD6B53D869FA55DDADFDDA5CA34FA84903AE208A22A5440E3AC44E73DE802C7FC209E0FFF00A15343FF00C1743FFC4D1FF082783FFE854D0FFF0005D0FF00F1347DB3C61FF402D0FF00F07337FF0022D1F6CF187FD00B43FF00C1CCDFFC8B4007FC209E0FFF00A15343FF00C1743FFC4D67DBE85A3E89F10F4BFEC9D2AC6C3CED2AFBCCFB25BA45BF12DA633B40CE327AFA9AD0FB678C3FE805A1FF00E0E66FFE45ACF9ADFC612F886CB56FEC8D0C7D9AD27B6F2BFB5E6F9BCD785B767ECDC63C9C631CEEED8E403B0A2B9FFB678C3FE805A1FF00E0E66FFE45A3ED9E30FF00A01687FF008399BFF916803A0AE7FC77FF0024F3C4BFF60ABAFF00D14D47DB3C61FF00402D0FFF0007337FF22D67EBB6FE30D6FC3DA9E93FD91A1C3F6EB496DBCDFED799B66F42BBB1F6619C6738C8A00EC28AF3FF00F8443FEA9C781BFF00023FFB8E8FF8443FEA9C781BFF00023FFB8E803D028AF3FF00F8443FEA9C781BFF00023FFB8E8FF8443FEA9C781BFF00023FFB8E803D028AF33D3347F89BA15ABD868F0782ADF4F1713CB040ED72C6259256936655546177E061470071573FE2EFFF00D48DFF00937401E814579FFF00C5DFFF00A91BFF0026E8FF008BBFFF005237FE4DD007A0515C5E9B27C4D8AE19B54B4F08DCC1B0854B5B9B98183647259A3704633C63B8E78E753ED9E30FFA01687FF8399BFF00916803A0A2B9FF00B678C3FE805A1FFE0E66FF00E45A3ED9E30FFA01687FF8399BFF00916803A0A2B9FF00B678C3FE805A1FFE0E66FF00E45A3ED9E30FFA01687FF8399BFF00916803A0A2B9FF00B678C3FE805A1FFE0E66FF00E45A3ED9E30FFA01687FF8399BFF00916803A0A2B9FF00B678C3FE805A1FFE0E66FF00E45A3ED9E30FFA01687FF8399BFF00916803A0A2B9FF00B678C3FE805A1FFE0E66FF00E45A3ED9E30FFA01687FF8399BFF00916803A0A2B9FF00B678C3FE805A1FFE0E66FF00E45A3ED9E30FFA01687FF8399BFF00916803A0A2B9FF00B678C3FE805A1FFE0E66FF00E45A3ED9E30FFA01687FF8399BFF00916803A0A2B9FF00B678C3FE805A1FFE0E66FF00E45A3ED9E30FFA01687FF8399BFF00916803A0A2B9FF00B678C3FE805A1FFE0E66FF00E45A3ED9E30FFA01687FF8399BFF00916803A0A2B9FF00B678C3FE805A1FFE0E66FF00E45A3ED9E30FFA01687FF8399BFF00916803A0A2B9FF00B678C3FE805A1FFE0E66FF00E45A3ED9E30FFA01687FF8399BFF00916803A0A2B9FF00B678C3FE805A1FFE0E66FF00E45A3ED9E30FFA01687FF8399BFF00916803A0A2B9FF00B678C3FE805A1FFE0E66FF00E45A3ED9E30FFA01687FF8399BFF00916803A0A2B9FF00B678C3FE805A1FFE0E66FF00E45A3ED9E30FFA01687FF8399BFF00916803A0A2B0E0BAF1535C44B71A368D1C05C091E3D5A57655CF2429B6009C76C8CFA8ADCA0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A2B9BD6CEA175E2AD2B4BB4D5EEF4E825B2BBB895AD638599DA37B75507CD8DC01895FA01DA803A4A2B9FF00F847B54FFA1CF5CFFBF365FF00C8F47FC23DAA7FD0E7AE7FDF9B2FFE47A00E828AE7FF00E11ED53FE873D73FEFCD97FF0023D1FF0008F6A9FF00439EB9FF007E6CBFF91E803A0A2B9FFF00847B54FF00A1CF5CFF00BF365FFC8F47FC23DAA7FD0E7AE7FDF9B2FF00E47A00E828AE7FFE11ED53FE873D73FEFCD97FF23D1FF08F6A9FF439EB9FF7E6CBFF0091E803A0A2B8BD034FD6B55D3A5B89FC61ACABA5EDDDB80905901B62B892253CDB9E76A027DF3D3A56A7FC23DAA7FD0E7AE7FDF9B2FF00E47A00E828AE7FFE11ED53FE873D73FEFCD97FF23D1FF08F6A9FF439EB9FF7E6CBFF0091E803A0A2B9FF00F847B54FFA1CF5CFFBF365FF00C8F47FC23DAA7FD0E7AE7FDF9B2FFE47A00E828AE7FF00E11ED53FE873D73FEFCD97FF0023D1FF0008F6A9FF00439EB9FF007E6CBFF91E803A0A2B8BF12E9FAD68DE15D5F54B7F186B2D3D9594D711AC9059152C8858038B707191EA2B53FE11ED53FE873D73FEFCD97FF23D007414573FFF0008F6A9FF00439EB9FF007E6CBFF91E8FF847B54FFA1CF5CFFBF365FF00C8F401D0515CFF00FC23DAA7FD0E7AE7FDF9B2FF00E47A3FE11ED53FE873D73FEFCD97FF0023D007414573FF00F08F6A9FF439EB9FF7E6CBFF0091E8FF00847B54FF00A1CF5CFF00BF365FFC8F401D0515CFFF00C23DAA7FD0E7AE7FDF9B2FFE47ACB9F4FD6A2F1569FA5AF8C359F22E2CAE6E1D8C165B8346F02A81FE8F8C6256CF1D874EE01DA515CFFF00C23DAA7FD0E7AE7FDF9B2FFE47A3FE11ED53FE873D73FEFCD97FF23D007414573FFF0008F6A9FF00439EB9FF007E6CBFF91E8FF847B54FFA1CF5CFFBF365FF00C8F401D0515CFF00FC23DAA7FD0E7AE7FDF9B2FF00E47A3FE11ED53FE873D73FEFCD97FF0023D007414573FF00F08F6A9FF439EB9FF7E6CBFF0091E8FF00847B54FF00A1CF5CFF00BF365FFC8F401D0515C5E81A7EB5AAE9D2DC4FE30D655D2F6EEDC0482C80DB15C49129E6DCF3B5013EF9E9D2B53FE11ED53FE873D73FEFCD97FF0023D007414573FF00F08F6A9FF439EB9FF7E6CBFF0091E8FF00847B54FF00A1CF5CFF00BF365FFC8F401D0515CFFF00C23DAA7FD0E7AE7FDF9B2FFE47A3FE11ED53FE873D73FEFCD97FF23D007414573FFF0008F6A9FF00439EB9FF007E6CBFF91E8FF847B54FFA1CF5CFFBF365FF00C8F401D0515C7EB169ABE896D6B7B1F8AB55B9FF0089859C2F0CF0DA6C7492E638D81DB02B7DD73D08AEC2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28AE775DF13CDA4DCDC2C1A7ADCC1636A2F2FE433EC68E22580F2D769DED847382547039E6803A2AAEF636F26A30DFB479BA8629218DF71F951CA1618E9C98D3F2F7354A5F126950EAB169AF72FF0069976E0885CC60B64AAB481762B363852413C60722AE8BEB637D359093FD221892691307E5462C14E7A7251BF2A3CC0B1457256DE36C40D75A869C6DAD65B09351B368E6F31E5853048652AA11F0E87682C393CF15A7A36B5757B7B73A7EA5631D95FC11473F9715C1991A37DC14862AA7394604638E3939A76036A8A28A401451450014573FA678A62D4759D56C9ACAE2D20B08639BED176A62F3158C80908C01551E59E5B19EB8C609BDA46BDA76B91CAF612CADE5637ACD6F242E011956DAEA09523A3630707078A3CFE61B16ACEC6DF4F81A1B58FCB8DA5926237139791DA473CFAB331F6CF1C558AC4BCF102FF66E9B73A4C297D26A6EAB66B2486146050C9B99B692A36A93F749CE0639AC5BFF0088115A59E9CFB34CB6B8BA9278A55D4F52FB2C513C2DB24024D8DBBE6E9C0C8E78E940EC76B45436B24935A432CCB12C8E81984327988091CED6206E1E87033E82A6A1E820A28A2800A2A9EA9793D8D8B4D6D66F797059523854E01662002CD83B546725B07001383D2B26DFC5490DBDF7F6CDBAD9DCD95C25BC91DAB3DD8919D559047B503B121871B01183DB9A00DABFB1B7D4F4EB9B0BC8FCCB5BA89E1993711B91810C32391904F4AB159E9ADE9CFA541A9ADC66D2774447D8D9DCEE1154AE320EE201040C1CE718359BAEF89E6D26E6E160D3D6E60B1B51797F219F6347112C0796BB4EF6C239C12A381CF347906E74545728FE310FE2E6D0AD4E8C591A356173AA79570FB943931C2236DF853FDE19F6EB5D5D1D2E0145145001451583E20D7350D12392EE3D2A39F4EB68C4B733BDD796DB73C88902B6F600670C501C8009C9C006F5577B1B7935186FDA3CDD431490C6FB8FCA8E50B0C74E4C69F97B9AA53F88F4BB6D5E3D2E5B871752150310485159B3B55A40BB158E3856209E303915745F5B1BE9AC849FE910C49348983F2A3160A73D3928DF951D2E058A2B92B7F1AB7D9DEEAFB4E5B6B7974F9752B26171BCCB0C7827CC054796F874380587279E2AEF857C432788ED65B8274768D768074DD4FED98623255FF768148E38E7AFE6581E8741451450014514500145615B78A2DAEBC47A8E96B19586C6DC4D25DBB0084EE60CA3D976F273D723B1AB7A46BDA76B91CAF612CADE5637ACD6F242E011956DAEA09523A3630707078A2FA5C0B567636FA7C0D0DAC7E5C6D2C9311B89CBC8ED239E7D5998FB678E2AC5625E78817FB374DB9D2614BE9353755B3592430A302864DCCDB4951B549FBA4E7031CD62DFFC408AD2CF4E7D9A65B5C5D493C52AEA7A97D96289E16D920126C6DDF374E06473C74A0763B5A2A1B59249AD2196658964740CC2193CC4048E76B10370F43819F415350F4105145140051587E29F112786B4E82E5BEC61A7B85810DEDDFD9A15241396936B60614F634C1E29B3B4D16CEFF5392006EB718D74C692F91D464EE52918665DA325B68033D7A640B1AF7B636FA840B0DD47E646B2C7301B88C3C6EB221E3D1954FBE39E2AC5546D4ECD059133A95BE7D96CCB96121D8CE304718DAAC73D38AC6BCF14CB69AACB1FD815B4DB7BA86CEE2E8CF874965DBB76C7B70CA3CC8C162C08C9E0E28B6B60E973A4A2B95D2BC5E756F12DCE9707F63ECB79A589D3FB53377F21C16F2047C0DDC72FD39F6AEAA8E970EB60A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800AE53C43E1ED4F50BBD4069ED682DB56B15B1BB699D95E1505FE74014873B6461B495E839EB5D5D1405EC71177E0A9E4F143DE46B1C9633CF6F71219351B98CC6D10500081088E4FF005684331182790C0015AF1F823C3716BB36B09A3D8ADE4AAA0B0B68C6D605C97042E43B6F396CF381E95D051474B01C343E0CD46EEC574FD4E6B4482CF4B9B4CB496DCB3B48AFB4095D4A80A408D7E5058649E6B6B43D33534D52EB56D605A477735BC36AB15A4AD22048CBB6EDCCAA72C643C63800726B7E8A7760145145200A28A28039CBFF000DCBA8EA1AFB4B3225B6A9A64762A5725D08F3B7123A63120C73D8F4AA3A0F835120BC4D7B4EB29D6E238A230C97B71A82B88F24126E38037312142F1CF273C76345036EE7243C176DA1E9BA5A7866CAC62B9D3A6594099445F6AFDDB46DE63A213B8AB13BB69E474C1A5B3D1758D1EDEDA5B4B3D22FAF59EE25B83712BC26369A4F3184720473B41E30546EC03918C575945176228E8BA77F64E8D696064F30C11842D8C027D8761E957A8A2800A28A28032FC409ACCBA34D1E80F6B1EA0C40492E58AAAAE7E620856F9B19C6548CE3208E2B9AB8F0A6A177E1FB5B5363696B73657A2E9121D5EE33724AB2BB4970B1A48AE7793901B240CF0715DCD1458773918BC03A45F787ED2C759D36CE59E198CFBBE6B828C65F35944936E760C46189C6EC9E067019ABF84EE89BCB4D121D3ADB4ED46C174FB84C188DB202FF003C6AAA431DB230DA768C81CF5AEC68A047317BA2EA53CF3D8C569A5C7A6DC4D14AF771C8C970366C20326C21DBE400397180471F2F3D3D145001451450015CD789F49D4F595369159693736ACB98A7BA7749ACE5E479A9856DCC3208C18C823EF7391D2D140D3B1C3DCF82AEA4F1335E652E2D279EDEE26925D46E632AF12A8FF511911C84F96A43311824E4300056C47E08F0DC5AECDAC268F62B792AA82C2DA31B581725C10B90EDBCE5B3CE07A5741451BAB08E2AC7C2BAA886086FBFB2E48F4ED3A5D3ECC306952E15F60DF3210BB7E58D4150587279E95B5A4D8EA27549B53D4EDECED6536E96C905A5C34C9B5599B71668D39F9B18C718EA73C6DD14EE0145145200A6C8A5E3640EC85811B97A8F714EA28DC0E161F87D710CF7D01D7AF67D3EE7496D3C2CEB0EF058BE49D912E71BB39CE492739AB3A0F835120BC4D7B4EB29D6E238A230C97B71A82B88F24126E38037312142F1CF273C76345007243C176DA1E9BA5A7866CAC62B9D3A6594099445F6AFDDB46DE63A213B8AB13BB69E474C1A5B3D1758D1EDEDA5B4B3D22FAF59EE25B83712BC26369A4F3184720473B41E30546EC03918C575945176051D174EFEC9D1AD2C0C9E61823085B1804FB0EC3D2AF51450014514500666B305EC8B6D369F69A75D5C5BCBE62A5E96403E52B94902B146E7AED39191C6735CBEA3E0DD46E12CEF62F29EF925B9925B74D4AE2D235F3D8310B344A1CED28A305406C9380718EEE8A561DCE59BE1FF0087AEED7484D4349B09E6D3A3440C6DD5C3AAA3204264DCC506E2402C7900E78A86EBC2F7CF7F71696E2CA3D16EAF2DEF6421996589A2F2FF0076A8176956F293E6DC3193C1C0AEBE8AABBBDC5D2C7351E91A9CBA85BC53DA6976D616B78F789359C8CB24AC7770D114C293BCEE6DED920F03771D2D145200A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28AC7D7F51BCB35B0B5D3CC09797F742DE396E2369238F08D23332AB296F95080370E48E6803628AF21F3BC4D79AA9825F10C36AD0A6A926F324A910952444462DE66020DE30ACAE1406E1890468E97792D969F7DFBDD721BCD3E7FB6496F7B7AD70B2411CCE8E51F7B123602A5491CA29DBCE48B54983D0F4DA2B85D575A9BEC5A95D2DC5E7977D7CBA75A8B54924748D32259112305B771372A33F2AFA53B40D72E755D7341DF2DC2E74DBC4B9864578F74B1CB0A6E68D8020F523232037BD0B5FEBCAFFD7A83FEBFAFEB63B8A2B99BBB53AE78A6EF4FBABABC86D2CED619638AD2EE4B767791A40599A32AC40080019C75C82718E4A4BEBEBCD534DB3B91ADEAD15BA6A1111A65F7D9649BCA9A34591C89620C40254E09C92703D01D8F53A2B97F01DC4B79A0C979E65C9B29EE1DACE2BB9CCD3C31F00A4AC4B1DC1C3F05895C804F181D4536AC4A770A28A290C28A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A0028A28A002AA6A3A6DA6AB69F66BC8D9937075292346E8C3A32BA90CA7DC106ADD14018969E11D0AC9364360A57CB9A322491E40CB310D286DC4EEDC54139CFEA69DA3F85B4AD121B88ED639A4FB46448F733BCEE54963B373924282CDC7B93C9249D9A2802859E8DA7E9F159C76D06C4B38DA3801766DA1B19EA79271D4E4F5E793546F3C21A35F6A0D7F2477715D3333196D6FE7B7277040DFEADD782234C8FF00673D6B768A3CC0C6B8F0B695750DB24AB79BED94A477097F3A4FB49C9533071232938382C4703D0559B6D134DB29AD25B5B38E16B481ADE011E5552362A58051C72514E7AF1EE6B428A00A765A5D9E9D3DDCD690989AEE5F3A601D8AB3E002C149C293819C019EA79AB9451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451400514514005145140051451401FFD9

    what i have to do for see the graph?

    Thursday, November 17, 2016 4:28 PM
  • @Claudia ... please share the code you wrote to generate this and I can see if I can answer your question ... plotting is pretty straight forward in R ... I'm not sure if you can see R plots in SSMS (I never tried), to display the plot try using R-Studio or RTVS (R Tools for Visual Studio)

    SOTATS, Inc.

    Sunday, November 20, 2016 3:56 AM
  • The code i wrote : 
    EXEC sp_execute_external_script
    @language = N'R'
    ,@script = N' df <- inputDataSet;
    image_file = tempfile()
    jpeg(filename = image_file, width=500, height=500); #create a JPEG graphic device
    hist(df$VALOR)
    dev.off()
    OutputDataset <- data.frame(data=readBin(file(image_file,"rb"),what=raw(),n=1e6));'
    ,@input_data_1 = N'SELECT VALOR, DTRECIBO FROM QUIfactu;
    ,@input_data_1_name = N'inputDataSet'
    ,@output_data_1_name = N'OutputDataset'
    WITH RESULT SETS ((plot varbinary(max)));

    The result was what i wrote in the previous comment. 

    Yeah, I tried in R-studio but i don't know how i call the database for there. You can help me?

    thank you 

    Monday, November 21, 2016 10:39 AM
  • @Claudia, as far as I know, R-Studio cannot be used to run T-SQL scripts like the one you show above. You are limited to running the T-SQL scripts in SSMS and/or VS products e.g., SSDT / RTVS / etc.

    I see what you are trying to do.  I hope to try and work on this before next week ... been busy lately with work stuff.  I think you still might have incorrect SYNTAX in your R script ... won't know until I try it.

    Still not sure if you can display plots in SSMS ... have you tried RTVS on your T-SQL to see if you get the same error.  RTVS is a free download ... it is still not production product but it can help with your script testing.

    Download RTVS from this link ... https://aka.ms/rtvs-current


    SOTATS, Inc.

    Tuesday, November 22, 2016 3:30 AM
  • Yeah, i think that i have to use the Reporting Services Configuration Manager. Thanks for supporting.. I understand that you are busy. 
    I will keep going to tried but if you discover something please tell me. Every help is so must important at this point.  

    Have a nice day and week !

    Cláudia 

    Tuesday, November 22, 2016 9:14 AM