|
|
You could try
string xml = System.Text.UnicodeEncoding.GetString(theByteArray); If this does not produce proper result, you could also try one of other encodings provided by the framework: Encoding Class (System.Text) | Microsoft Docs[^].
"Five fruits and vegetables a day? What a joke!
Personally, after the third watermelon, I'm full."
|
|
|
|
|
I am writing a C# application in Visual Studio 2005 and I need to read, but NOT write, data inside an Azure database and I would like to install as few applications on my computer as possible. It would also be nice if I could simply spend a couple of minutes copying the whole database file to my computer upon startup and from then on access the data completely locally. There is no requirement that I should access the data I want through SQL-queries, if it's feasible to iterate through the database file with while-loops, if-statements, etc that would be perfectly fine with me. Is this feasible or what's the minimum I can get away with?
modified 25-Apr-20 13:31pm.
|
|
|
|
|
At the very least you will need to install a Database client to read the database. Which client you need will depend on what database it is that you wish to access.
|
|
|
|
|
It is a relational database I wish to access.
|
|
|
|
|
What you are asking for makes no sense, relational databases are not simplistic text files and are generally made up of multiple tables with defined relationships which you will need to understand. You cannot scroll through the records without a client (this may be something like Excel/Access/MSSQL) but it is still a client application.
If there is a specific VIEW that has been created for you then you need to query the database to get all the records, these can be queried into a text file which you could scroll through.
You still need something to query the database. Do check the size of the download before progressing along this path
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|
|
There is only one table in the database. If it's not feasible to get the data by using a home-made function (or method), what is the minimum database client I need to install? Are there any lightweight (perhaps even open source?) clients available or do I need to install several Gbytes of SQL Server/Oracle/something else?
|
|
|
|
|
What do you expect to "browse" the data with?
You could write a simple windows service or client which would connect and download the table. It would be very small.
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|
|
Mycroft Holmes wrote: What do you expect to "browse" the data with? That's a good question, see below.
Mycroft Holmes wrote: You could write a simple windows service or client which would connect and download the table. It would be very small. So, you're basically saying I don't need a database client to get the table? What format will the table then be in when I get it locally on my computer? Will the format be something simple like tab/comma separated or XML or something so complicated (perhaps even encrypted) that I practically would need a database client to make sense out of the table?
|
|
|
|
|
|
The majority of databases are relational types. What you need to find out is what software product is used to create it: Oracle, SQLServer, MySQL, SQLite etc.
|
|
|
|
|
Ok, so Azure supports a wide range of databases.
|
|
|
|
|
This has nothing to do with Azure. If you want to access a database then, as I already suggested, you need to know what type of database (i.e. which product is used to manage it). And the quickest way to find that answer is to talk to the people who own it.
|
|
|
|
|
|
OK, so you need to install SQL client on your system, and get the details of the database structure from the people who own it.
|
|
|
|
|
Is there no shortcut available? I'm open to using hacks.
|
|
|
|
|
I'd recommend you to install SSMS (SQL Server Management Studio) instead.
|
|
|
|
|
Are we to assume that you do not actually have permission to access this database?
|
|
|
|
|
No, I have access. Since this software will be run on other computers than my own, I'd like to keep 3rd party software installations/dependencies to a minimum. Ideally, all you'd have to do to run my application is to double-click an .exe-file (ideally, you should also be able to run it from a USB-stick), I don't want anybody to have to do anything more. That's why I don't use installers and instead embed all my dll:s and icons/pictures into my .exe-file, I don't like to give installation support, especially not on something I didn't write myself.
|
|
|
|
|
Well at the risk of repeating myself yet again: go and talk to the owners of the database to find out what client software you need to install, and what the schema structure is. They are the only people who can provide this information.
|
|
|
|
|
Wait you already have an application that will consume the data!
Why don't you modify your app to query the database?
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|
|
No, I'm about to start writing an application.
|
|
|
|
|
Then write the database query into your application like every other developer does.
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|
|
It just occurred to me that the answer to this is quite simple. Go and talk to the people who own the database, they will be able to tell you exactly which client libraries you need.
|
|
|
|
|
arnold_w wrote: I am writing a C# application in Visual Studio 2005 and I
2005 is rather old and I suspect that might be a problem.
But maybe you meant 2015.
For a database application you need
1. Access permission to the database. This includes a connection path and user permissions. This is information not code.
2. A connection library for the database. This a library.
3. Probably a framework that will use the connection library.
4. Then you use 3 to get data from the database where you have provided 1 to 2.
arnold_w wrote: There is no requirement that I should access the data I want through SQL-queri
That is unlikely unless the database is a No-SQL database.
|
|
|
|