go to post Marco Blom · Sep 15, 2018 Thank you Julius, it works perfect!I choose : do rec.OrgTypeSetObjectId($piece(line, ",", 2))
go to post Marco Blom · Jun 12, 2018 HI Robert, I have got it working now, and yes, the harder you struggle the bigger the victory when you succeed. And it is the charm of InterSystemsThanks Eduard, I will come back on you're recommendation for sure in short time, as I did not fully understood last time.
go to post Marco Blom · Jun 12, 2018 Hi Robert, you are right, but I forgot to mention I got the error after adding Eduard his recommendation.This is the code:ClassMethod ImportCSV(){ set adapter = ##class(%File).%New("C:\temp\in.csv") set status = adapter.%Open("R") if $$$ISERR(status) { do $System.Status.DisplayError(status) } set counter =1 while 'adapter.AtEnd { set line=adapter.ReadLine() set rec= ##class(CSVRecord).%New() set rec.ID=$piece(line,";",1) set rec.FName=$piece(line,";",2) set rec.Secname=$piece(line,";",3) set rec.Gender=$piece(line,";",4) set rec.Age=$piece(line,";",5) write rec.ID, rec.FName, rec.Secname , rec.Gender, rec.Age,! Set savestatus=rec.%Save() if $$$ISERR(savestatus) { do $System.Status.DisplayError(status) } } //if error found during processing,show it if $$$ISERR(status) { do $System.Status.DisplayError(status) }}I do notice this topic comes back in time in the Community, so people are interested -and struggling with it like myself, but if we look back the items leave quite unanswered.... as people do not share their final working code... and only tell that they have solved the question.Thanks!
go to post Marco Blom · Jun 11, 2018 Hi there, tried the code sample above and got this:Why?Unfortunately the community & books are full with half code snippets rather than showing working full code samples>Themelani, can you please share you're working code to the community? then the item is completed! Thanks!
go to post Marco Blom · Jun 10, 2018 I have recently (June 2018) bought the book, unfortunately no download of samples available (which I particular was hoping for).
go to post Marco Blom · Mar 10, 2018 Hi Eric, last time I have resolved by just doing a new installation.However last week (march 2018) I got the same issue on all 4 instances on my computer. No clue what have caused the issue.According to the logfile I had to delete Cache.WIJ which I did. I also replaced cache.cpf with _last.good-.cpf and deleted Cache.ids as you have recommended.After this I restarted the machine. No result however.According to Windows services : the Webserver for Cache cannot be started.I want to share this information. I do not have a licence for official support, but do want to continue development in Cache.Thanks,
go to post Marco Blom · Dec 15, 2017 Hi Eduard, hard to get it working!my file:my code:Class TestCsv.Csv Extends %Persistent{Property name As %String;Property year As %Integer;Property amount As %Numeric;Property date As %Date;ClassMethod Import(){set rowtype = "name VARCHAR(50),year INTEGER,amount NUMERIC(9,2),date DATE" set filename = "c:\temp\data.csv" do ##class(%SQL.Util.Procedures).CSVTOCLASS(2, .rowtype, filename,,,,"TestCsv.Csv")}My result:(I use Windows 10)no resultMy filetest:I still cannot find the error.
go to post Marco Blom · Dec 14, 2017 Hi there,I have the following sample code, but none of them works.with the last class I did test my csv file and it worked.Class ZenImport.Country Extends %Persistent{Property Code As %String;Property Name As %String;ClassMethod LoadFromFile(){ Set pFileName="C:\temp\Country.csv" Set pDelimiter= $C(9) //Set pDelimiter=";" Set rowType="Code VARCHAR(2),Name VARCHAR(9)" Do ##class(%SQL.Util.Procedures).CSVTOCLASS(2,.rowType, pFileName, pDelimiter)}ClassMethod LoadFromFile2(){ set rowtype = "Code VARCHAR(2),Name VARCHAR(9)" set filename = "c:\temp\Country.csv" do ##class(%SQL.Util.Procedures).CSVTOCLASS(2, .rowtype, filename,,,,"Country.csv")}ClassMethod ImportCountries(srcDir As %String = "C:\temp", srcFile As %String = "Country.csv"){ try { set status = ##class(ZenImport.Country).%DeleteExtent() if $$$ISOK(status) {write !, "Deleted LS.Country Data"} else {do $system.Status.DisplayError(status) return} } catch ex {} set srcStream = ##class(%Stream.FileCharacter).%New() set srcPath = srcDir_"\"_srcFile set srcStream.Filename = srcPath set srcStream.TranslateTable = "UTF8" set selectMode = 0 set rowType = "Code VARCHAR(2),Name VARCHAR(9)" set delimiter = ";" set quote = """" set headerCount = 0 set classname = "ZenImport.Country" do ##class(%SQL.Util.Procedures).CSVTOCLASS(selectMode, rowType, srcStream, delimiter, quote, headerCount, classname) write !, "Imported " _ srcPath _ " to ZenImport.Country", ! QUIT}ClassMethod ImportStream() [ ZenMethod ]{///Test csv File -THIS ONE WORKS!-Set stream=##class(%Stream.FileCharacter).%New()Set sc=stream.LinkToFile("c:\temp\Country.csv")if $$$ISERR(sc) Quit While 'stream.AtEnd {Set line=stream.Read()}write !, line Quit $$$OK}Test reading csv: Hopefully you have a suggestion how I can get it working!