Solved

Using .NET, Connect to simply accounting enterprise 2009 without opening simply accounting?

Posted on 2009-07-10
2
1,241 Views
Last Modified: 2013-12-11
Hi folks,

I am having a problem trying to connect to simply accounting enterprise 2009 (SAE2K9) through vb.net without first opening SAE2K9.
I need to be able to read data from some tables in simply for the purposes of bringing that data in to a 3rd party app I am
writing.  Does anyone have some sample code out there that I could use?  I've scoured google and other search engines but to no avail
and have also sought help through the simply forums.  No one seems willing to help out?  Any takers?

Thanks in advance.
0
Comment
Question by:sharizod
  • 2
2 Comments
 
LVL 1

Accepted Solution

by:
sharizod earned 0 total points
ID: 24830398
I've figured it out.  It wasn't exactly easy or well documented, but it seems to work, all without opening simply accounting!

I hope this helps someone else the heartache and pain of trying to connect.
I am going to PAQ & refund points.

Cheers
Imports MySql.Data

Imports MySql.Data.MySqlClient
 

Public Class Form1
 

	Public Sub ConnectTo2Simply()
 

		Try
 

			Dim dbclient As New Simply.ConnectionManagerServiceClient.ConnectionManagerServiceClient

			Dim error2 As Simply.ConnectionManagerService.ConnectionManagerError

			Dim port As String = "13540"

			Dim host As String = "localhost"

			Dim sFileName As String = "C:\Documents and Settings\All Users\Documents\Simply\2009\Samdata\Enterprise\Universl.SAJ"

			Dim db_version As String = "16102"
 

			error2 = dbclient.GetConnectionInfo(sFileName, host, port)
 

			If error2 = Simply.ConnectionManagerService.ConnectionManagerError.Error_MySQL_NotRunning Then

				error2 = dbclient.StartClient("C:\Documents and Settings\All Users\Documents\Simply\2009\Samdata\Enterprise\Universl.SAI", "localhost")

				error2 = dbclient.GetConnection(sFileName, host, db_version)	'16102 is the number from the SAI file for the element "data_version"

			End If
 

			If error2 <> Simply.ConnectionManagerService.ConnectionManagerError.No_Error Then

				Throw New Exception(error2.ToString)

			End If
 

		Catch ex As Exception

			'Notify user of error thrown by connection attempt

		End Try
 

	End Sub
 

	Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 

		ConnectTo2Simply()
 

		Try
 

			Dim f As New Library.MySqlDBAccess2.cMySqlDBAccess2
 

			Dim sConn As String = "Provider=MSDASQL;DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;Database=simply;" & _

			"UID=sysadmin;PWD=;Port=13540;Socket=SimplyMySql13540;option=3"
 

			Dim ds As New DataSet
 

			If f.RunSQLReturnODBCDataSet(sConn, "SELECT * FROM temp;", ds) = False Then

				Throw f.LastException

			End If
 

		Catch ex As Exception

			'catch exceptions here.
 

		End Try
 
 

	End Sub
 

	Public Function RunSQLReturnODBCDataSet(ByVal connStr As String, ByVal strSQL As String, ByRef MyResults As DataSet) As Boolean
 

		Dim myCmd As Odbc.OdbcCommand = New Odbc.OdbcCommand(strSQL, New Odbc.OdbcConnection(connStr))

		Dim dsResult As DataSet

		Dim sqlDa As Odbc.OdbcDataAdapter = Nothing
 

		Try

			dsResult = New DataSet

			sqlDa = New Odbc.OdbcDataAdapter(myCmd)
 

			myCmd.CommandType = CommandType.Text

			myCmd.Connection.Open()

			sqlDa.Fill(dsResult)
 

			MyResults = dsResult

			Return True
 

		Catch ex As Exception

			LastException = ex

			Return False
 

		Finally

			myCmd.Connection.Close()

			myCmd.Connection = Nothing

			sqlDa.Dispose()

			sqlDa = Nothing

			dsResult = Nothing
 

		End Try
 

	End Function
 

End Class

Open in new window

0
 
LVL 1

Author Comment

by:sharizod
ID: 24830432
Woops.  forgot to alter the code a little.  The function "RunSQLReturnODBCDataSet" was in a class that I use to
abstract away a lot of the details of connecting to datasources and forgot take out the "f" object variable.
I wanted to show the whole code for the sake of completeness.
0

Featured Post

Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article is meant to give a basic understanding of how to use R Sweave as a way to merge LaTeX and R code seamlessly into one presentable document.
Although it can be difficult to imagine, someday your child will have a career of his or her own. He or she will likely start a family, buy a home and start having their own children. So, while being a kid is still extremely important, it’s also …
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

26 Experts available now in Live!

Get 1:1 Help Now