i working on Windows and using GtkSharp Library for compile. I created Hello world application and compile it for Windows and Ubuntu. On Windows application working, but on Linux i have exception
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gtk.Application' threw an exception.
---> System.DllNotFoundException: Gtk: libgtk-3-0.dll, libgtk-3.so.0, libgtk-3.0.dylib, gtk-3.dll
at GLibrary.Load(Library library)
at Gtk.Application..cctor()
--- End of inner exception stack trace ---
at Gtk.Application.Init()
at GtkSharp_Application2.Program.Main(String[] args) in I:\Проекты\Programs\GtkSharp Application2\GtkSharp Application2\Program.cs:line 9
Aborted
I don't know why it throws, because i have in builded application all library files
-rwxrwxrwx 1 lisoveliy lisoveliy 306176 Apr 25 2022 AtkSharp.dll
-rwxrwxrwx 1 lisoveliy lisoveliy 120832 Apr 25 2022 CairoSharp.dll
-rwxrwxrwx 1 lisoveliy lisoveliy 259072 Apr 25 2022 GLibSharp.dll
-rwxrwxrwx 1 lisoveliy lisoveliy 610304 Apr 25 2022 GdkSharp.dll
-rwxrwxrwx 1 lisoveliy lisoveliy 1005568 Apr 25 2022 GioSharp.dll
-rwxrwxrwx 1 lisoveliy lisoveliy 142840 Dec 31 12:59 'GtkSharp Application2'
-rwxrwxrwx 1 lisoveliy lisoveliy 32650 Dec 31 12:59 'GtkSharp Application2.deps.json'
-rwxrwxrwx 1 lisoveliy lisoveliy 5120 Dec 31 12:59 'GtkSharp Application2.dll'
-rwxrwxrwx 1 lisoveliy lisoveliy 10500 Dec 31 12:59 'GtkSharp Application2.pdb'
-rwxrwxrwx 1 lisoveliy lisoveliy 179 Dec 31 12:59 'GtkSharp Application2.runtimeconfig.json'
-rwxrwxrwx 1 lisoveliy lisoveliy 3370496 Apr 25 2022 GtkSharp.dll
-rwxrwxrwx 1 lisoveliy lisoveliy 841872 Oct 23 21:15 Microsoft.CSharp.dll
-rwxrwxrwx 1 lisoveliy lisoveliy 1232520 Oct 23 21:15 Microsoft.VisualBasic.Core.dll
-rwxrwxrwx 1 lisoveliy lisoveliy 18048 Oct 23 20:52 Microsoft.VisualBasic.dll
-rwxrwxrwx 1 lisoveliy lisoveliy 24704 Oct 23 21:15 Microsoft.Win32.Primitives.dll
-rwxrwxrwx 1 lisoveliy lisoveliy 59008 Oct 23 21:15 Microsoft.Win32.Registry.dll
-rwxrwxrwx 1 lisoveliy lisoveliy 203776 Apr 25 2022 PangoSharp.dll
I using WSL, but i think problem not caused by this.
I expecting run application by Linux, but that don't working.
I fixed that by installing gtk package
sudo apt install libgtk-3-0
Related
I have a .net project that runs in windows with VS code with no issues.
I am trying to run the same project in Ubuntu 20.04.2 with VS code. Run trying to run it with F5, I get the errors:
CSC : error CS8032: An instance of analyzer System.Text.Json.SourceGeneration.JsonSourceGenerator cannot be created from /home/one/.nuget/packages/system.text.json/6.0.6/analyzers/dotnet/roslyn3.11/cs/System.Text.Json.SourceGeneration.dll : Could not load file or assembly 'Microsoft.CodeAnalysis, Version=3.11.0.0, Culture=neutral, PublicKeyToken=****'. The system cannot find the file specified.. [/home/one/github/fhir/Foo.Service/Foo.Service/Foo.Service.csproj]
CSC : error CS8032: An instance of analyzer System.Text.Json.SourceGeneration.JsonSourceGenerator cannot be created from /home/one/.nuget/packages/system.text.json/6.0.6/analyzers/dotnet/roslyn4.0/cs/System.Text.Json.SourceGeneration.dll : Could not load file or assembly 'Microsoft.CodeAnalysis, Version=3.11.0.0, Culture=neutral, PublicKeyToken=******'. The system cannot find the file specified.. [/home/one/github/fhir/Foo.Service/Foo.Service/Foo.Service.csproj]
I verified the files are on my system:
roslyn3.11
% lr /home/one/.nuget/packages/system.text.json/6.0.6/analyzers/dotnet/roslyn3.11/cs/System.Text.Json.SourceGeneration.dll
-rwxrw-r-- 1 one one 148K Aug 19 19:48 /home/one/.nuget/packages/system.text.json/6.0.6/analyzers/dotnet/roslyn3.11/cs/System.Text.Json.SourceGeneration.dll
roslyn4.0
one#work ~
% lr /home/one/.nuget/packages/system.text.json/6.0.6/analyzers/dotnet/roslyn4.0/cs/System.Text.Json.SourceGeneration.dll
-rwxrw-r-- 1 one one 164K Aug 19 19:48 /home/one/.nuget/packages/system.text.json/6.0.6/analyzers/dotnet/roslyn4.0/cs/System.Text.Json.SourceGeneration.dll
csproj
one#work ~
% lr /home/one/github/fhir/Foo.Service/Foo.Service/Foo.Service.csproj
-rw-rw-r-- 1 one one 1.8K Nov 10 16:59 /home/one/github/fhir/Foo.Service/Foo.Service/Foo.Service.csproj
It looks like "Microsoft.CodeAnalysis" was missing. So, I installed it with nuget in VS code. I added 'nuget: add package' in VS code to install 'Microsoft.CodeAnalaysis' version 3.11.0.
I have verified it successfully lives on my system:
one#work ...packages/microsoft.codeanalysis/3.11.0
% pwd
/home/one/.nuget/packages/microsoft.codeanalysis/3.11.0
one#work ...packages/microsoft.codeanalysis/3.11.0
% lr
total 80K
drwxrwxr-x 2 one one 4.0K Nov 14 10:08 .
drwxrwxr-x 4 one one 4.0K Nov 14 10:08 ..
-rw-rw-r-- 1 one one 178 Nov 14 10:08 .nupkg.metadata
-rwxrw-r-- 1 one one 19K Aug 10 2021 .signature.p7s
-rwxrw-r-- 1 one one 6.9K Apr 30 2021 Icon.png
-rwxrw-r-- 1 one one 2.2K Aug 3 2021 ThirdPartyNotices.rtf
-rw-rw-r-- 1 one one 28K Nov 14 10:08 microsoft.codeanalysis.3.11.0.nupkg
-rw-rw-r-- 1 one one 88 Nov 14 10:08 microsoft.codeanalysis.3.11.0.nupkg.sha512
-rwxrw-r-- 1 one one 2.4K Aug 3 2021 microsoft.codeanalysis.nuspec
I still get the errors mentioned above.
I have issue when trying to connect to a progress openedge database using odbc. The client code is in c# and running in docker. Here is my code :
using (OdbcConnection cn = new OdbcConnection("DSN=PROGRESS;UID=username;PWD=pass;"))
{
cn.Open();
}
The issue is that program is crashing at the cn.Open() with the following error : ERROR [60] [DataDirect][ODBC 20101 driver]6013.
I can successfully connect using isql -v PROGRESS username pass and I can query tables.
Environnement :
It is a .NET Core app on a docker environment. Here is my odbc.ini file :
[PROGRESS]
Driver=/usr/lib/x86_64-linux-gnu/pgoe27.so
HostName=192.168.2.11
DatabaseName=dbname
LogonID=username
Password=pass
PortNumber=20000
[ODBC]
Trace=0
TraceFile=odbctrace.out
TraceDll=/usr/lib/openedge/lib/pgtrc27.so
InstallDir=/usr/lib/openedge
I do not understand why I can connect using isql but not using c# OdbcConnection...
Thanks in advance
EDITED
Here is my odbc folder permissions :
# ls -l lib
total 27124
-rwxr-xr-x 1 root root 1782648 Aug 2 13:09 libodbc.so
-rwxr-xr-x 1 root root 1280424 Aug 2 13:09 libodbcinst.so
-rwxr-xr-x 1 root root 14682952 Aug 2 13:09 libpgicu27.so
-rwxr-xr-x 1 root root 1468736 Aug 2 13:09 libpgmback.so
-rwxr-xr-x 1 root root 2351288 Aug 2 13:09 libpgssl27.so
-rwxr-xr-x 1 root root 1586488 Aug 2 13:09 odbccurs.so
-rwxr-xr-x 1 root root 2871272 Aug 2 13:09 pgoe27.so
-rwxr-xr-x 1 root root 1667632 Aug 2 13:09 pgtrc27.so
-rwxr-xr-x 1 root root 63800 Aug 2 13:09 vscnctdlg.so
# ls -lR locale
locale:
total 8
drwxrwxrwx 1 root root 4096 Aug 2 13:09 en_US
locale/en_US:
total 4
drwxrwxrwx 1 root root 4096 Aug 2 13:09 LC_MESSAGES
locale/en_US/LC_MESSAGES:
total 208
-rw-rw-r-- 1 root root 36241 Aug 2 13:09 odbc.m
-rw-rw-r-- 1 root root 19099 Aug 2 13:09 odbc.po
-rw-rw-r-- 1 root root 19096 Aug 2 13:09 pgmback.mo
-rw-rw-r-- 1 root root 11581 Aug 2 13:09 pgmback.po
-rw-rw-r-- 1 root root 72722 Aug 2 13:09 pgoe27.mo
-rw-rw-r-- 1 root root 47627 Aug 2 13:09 pgoe27.po
I have managed connecting specifying connection in my .net program, but I still cannot using DSN + odbc.ini :
OdbcConnectionStringBuilder builder = new OdbcConnectionStringBuilder
{
Driver = "/usr/lib/openedge/lib/pgoe27.so",
};
builder.Add("HostName", "192.168.2.11");
builder.Add("DatabaseName", "PROGRESS");
builder.Add("LogonID", "username");
builder.Add("Password", "password");
builder.Add("PortNumber", "20000");
using (OdbcConnection cnGlims = new OdbcConnection(builder.ConnectionString))
{
cnGlims.Open();
}
According to the Progress Knowledgebase the fact that you are getting error numbers (60, 6013) rather than an error message indicates a configuration problem preventing the message description files from being loaded.
https://knowledgebase.progress.com/articles/Knowledge/3556 says:
Cause: The ODBC driver manager and/or the ODBC driver library cannot
load its message files.
InstallDir is not set correctly in the [ODBC] section of the odbc.ini
file or the message files in locale/en_US/LC_MESSAGES are missing.
Make sure the following are set correctly:
Set the environment variable LANG to en_US :
export LANG=en_US (ksh shell)
setenv LANG en_US (csh shell)
Ensure that the environment variable ODBCINI (or ODBC_INI) is pointing
to the proper odbc.ini file
Ensure that in the [ODBC] section of your odbc.ini file the correct
installation path of the ODBC drivers is specified for InstallDir
e.g. InstallDir=/opt/odbc
Make sure the .mo / .po messages files exist
(odbcinstaldir/locale/en_US/LC_MESSAGES) and can be loaded by your
application
If your installDir is /usr/lib/openedge then you should test for the existence (and permissions) of these files like so:
$ cd /usr/lib/openedge
$ ls -l ./odbc/lib
total 29832
-rwxrwxr-x. 1 root root 1676480 Jan 21 2020 libodbcinst.so
-rwxrwxr-x. 1 root root 2182544 Jan 21 2020 libodbc.so
-rwxrwxr-x. 1 root root 14682952 Jan 21 2020 libpgicu27.so
-rwxrwxr-x. 1 root root 1977640 Jan 21 2020 libpgmback.so
-rwxrwxr-x. 1 root root 2359016 Jan 21 2020 libpgssl27.so
-rwxrwxr-x. 1 root root 2065616 Jan 21 2020 odbccurs.so
-rwxrwxr-x. 1 root root 3383128 Jan 21 2020 pgoe27.so
-rwxrwxr-x. 1 root root 2142864 Jan 21 2020 pgtrc27.so
-rwxrwxr-x. 1 root root 63800 Jan 21 2020 vscnctdlg.so
$ ls -lR ./odbc/locale
./odbc/locale:
total 0
drwxrwxrwx. 3 root root 25 Apr 10 2020 en_US
./odbc/locale/en_US:
total 0
drwxrwxrwx. 2 root root 105 Apr 10 2020 LC_MESSAGES
./odbc/locale/en_US/LC_MESSAGES:
total 212
-rw-rw-r--. 1 root root 36241 Jan 21 2020 odbc.m
-rw-rw-r--. 1 root root 19099 Jul 29 2011 odbc.po
-rw-rw-r--. 1 root root 19096 Jan 21 2020 pgmback.mo
-rw-rw-r--. 1 root root 11581 Jul 29 2011 pgmback.po
-rw-rw-r--. 1 root root 74007 Jan 21 2020 pgoe27.mo
-rw-rw-r--. 1 root root 49045 Jan 21 2020 pgoe27.po
I'm trying to get the DST entry time for the timezone "Antarctica/McMurdo" for the current year 2020 using System.Globalization class in C#. i'm receiving them as
DST Entry Time: 9/29/2020 2:00:00 AM
DST Exit Time: 4/5/2020 2:59:59 AM
But the actual DST entry time supposed to be on 9/27/2020 2:00:00 AM according to https://www.timeanddate.com/time/change/antarctica/mcmurdo
The received entry time is already in DST because of which my test program is failing as the time shift is not happening.
Below is the code snippet used
var currTimeZone = TimeZone.CurrentTimeZone;
var dstInfo = currTimeZone.GetDaylightChanges(now.Year);
DSTEntry = dstInfo.Start.ToString();
Below are the versions of Mono and Ubuntu i'm running on
Ubuntu 16.04.3 LTS
Mono JIT compiler version 5.4.0.201
Here is the output of zdump
$ zdump Antarctica/McMurdo -v 2019,2022
Antarctica/McMurdo Sat Apr 6 13:59:59 2019 UT = Sun Apr 7 02:59:59 2019 NZDT isdst=1 gmtoff=46800
Antarctica/McMurdo Sat Apr 6 14:00:00 2019 UT = Sun Apr 7 02:00:00 2019 NZST isdst=0 gmtoff=43200
Antarctica/McMurdo Sat Sep 28 13:59:59 2019 UT = Sun Sep 29 01:59:59 2019 NZST isdst=0 gmtoff=43200
Antarctica/McMurdo Sat Sep 28 14:00:00 2019 UT = Sun Sep 29 03:00:00 2019 NZDT isdst=1 gmtoff=46800
Antarctica/McMurdo Sat Apr 4 13:59:59 2020 UT = Sun Apr 5 02:59:59 2020 NZDT isdst=1 gmtoff=46800
Antarctica/McMurdo Sat Apr 4 14:00:00 2020 UT = Sun Apr 5 02:00:00 2020 NZST isdst=0 gmtoff=43200
Antarctica/McMurdo Sat Sep 26 13:59:59 2020 UT = Sun Sep 27 01:59:59 2020 NZST isdst=0 gmtoff=43200
Antarctica/McMurdo Sat Sep 26 14:00:00 2020 UT = Sun Sep 27 03:00:00 2020 NZDT isdst=1 gmtoff=46800
Antarctica/McMurdo Sat Apr 3 13:59:59 2021 UT = Sun Apr 4 02:59:59 2021 NZDT isdst=1 gmtoff=46800
Antarctica/McMurdo Sat Apr 3 14:00:00 2021 UT = Sun Apr 4 02:00:00 2021 NZST isdst=0 gmtoff=43200
Antarctica/McMurdo Sat Sep 25 13:59:59 2021 UT = Sun Sep 26 01:59:59 2021 NZST isdst=0 gmtoff=43200
Antarctica/McMurdo Sat Sep 25 14:00:00 2021 UT = Sun Sep 26 03:00:00 2021 NZDT isdst=1 gmtoff=46800
Can someone help me how to resolve this timing issue? or is this a bug from DLL/timezone_database which C# is reading from?
Thanks
From the documentation on the TimeZone class:
Warning
This API is now obsolete
...
ⓘ Important
Whenever possible, use the TimeZoneInfo class instead of the TimeZone
class.
...
The TimeZone class supports only a single daylight saving time
adjustment rule for the local time zone. As a result, the TimeZone
class can accurately report daylight saving time information or
convert between UTC and local time only for the period in which the
latest adjustment rule is in effect. In contrast, the TimeZoneInfo
class supports multiple adjustment rules, which makes it possible to
work with historic time zone data.
In short, don't use the TimeZone class.
After updating the UWP app, I get many crash from the different sections of the app
STOWED_EXCEPTION_Microsoft.Data.Sqlite.SqliteException_80131500***APP-NAME***.dll!Microsoft::Data::Sqlite::SqliteCommand.ExecuteReader
Which did not happend in previous version, I also did not change the database access code section nor updated/reinstalled the EF Sqlite nugget package.
Here are Stacktrace i have received from users:
Thanks
Frame Image Function Offset
0 Microsoft.Data.Sqlite.dll Microsoft::Data::Sqlite::Interop::MarshalEx.ThrowExceptionForRC 0x0000000000000067
1 Microsoft.Data.Sqlite.dll Microsoft::Data::Sqlite::SqliteCommand.ExecuteReader 0x000000000000012F
2 Microsoft.Data.Sqlite.dll Microsoft::Data::Sqlite::SqliteCommand.ExecuteDbDataReader 0x000000000000000B
3 EntityFramework.Relational.dll Microsoft::Data::Entity::Storage::Internal::RelationalCommand::__c__DisplayClass17_0._ExecuteReader_b__0$catch$0 0x0000000000000013
4 SharedLibrary.dll System::Func$1_System::__Canon_.Invoke 0x0000000000000013
5 EntityFramework.Relational.dll Microsoft::Data::Entity::Storage::Internal::RelationalCommand.Execute_System.__Canon_$catch$0 0x00000000000000C1
6 EntityFramework.Relational.dll Microsoft::Data::Entity::Storage::Internal::RelationalCommand.ExecuteReader 0x0000000000000057
7 EntityFramework.Relational.dll Microsoft::Data::Entity::Query::Internal::QueryingEnumerable::Enumerator.MoveNext 0x000000000000008B
8 EntityFramework.Relational.dll Microsoft::Data::Entity::Query::QueryMethodProvider.GetResult_System.Int32_ 0x000000000000003D
9 APPNAME.McgInterop.dll _$ILCT$::$ILT$ReflectionDynamicInvoke$.InvokeRetOI_System.__Canon,System.Int32 0x0000000000000061
10 SharedLibrary.dll System::InvokeUtils.CallIHelperStaticCallWithInstantiation 0x0000000000000023
11 SharedLibrary.dll System::InvokeUtils.CallDynamicInvokeMethod 0x0000000000000119
12 System.Linq.Expressions System::Linq::Expressions::Interpreter::MethodInfoCallInstruction.InvokeWorker$catch$0 0x0000000000000017
13 System.Linq.Expressions System::Linq::Expressions::Interpreter::MethodInfoCallInstruction.Invoke 0x0000000000000009
14 System.Linq.Expressions System::Linq::Expressions::Interpreter::MethodInfoCallInstruction.Run 0x0000000000000065
15 System.Linq.Expressions System::Linq::Expressions::Interpreter::Interpreter.Run 0x0000000000000027
16 System.Linq.Expressions System::Linq::Expressions::Interpreter::LightLambda.Run 0x000000000000009B
17 SharedLibrary.dll System::Runtime::CompilerServices::ConditionalWeakTable$2_System::__Canon,System::__Canon_::CreateValueCallback.InvokeObjectArrayThunk 0x0000000000000037
18 EntityFramework.Core.dll Microsoft::Data::Entity::Query::Internal::QueryCompiler::__c__DisplayClass18_1$1_System::Int32_._CompileQuery_b__1$catch$0 0x0000000000000059
19 SharedLibrary.dll System::Comparison$1_System::__Canon_.Invoke 0x0000000000000013
20 EntityFramework.Core.dll Microsoft::Data::Entity::Query::Internal::QueryCompiler.Execute_System.Int32_ 0x000000000000003D
21 EntityFramework.Core.dll Microsoft::Data::Entity::Query::Internal::EntityQueryProvider.Execute_System.Int32_ 0x0000000000000033
22 System.Linq.Queryable.dll System::Linq::Queryable.Count_System.Int32_ 0x0000000000000121
23 APPNAME*.exe InstagramDownloader::pgHome._imgDownloader_b__15_4 0x0000000000000167
24 APPNAME*.McgInterop.dll Windows::System::Threading::TimerElapsedHandler.Invoke 0x000000000000000F
25 APPNAME*.McgInterop.dll McgInterop::ReverseComSharedStubs.Proc_ 0x0000000000000015
26 SharedLibrary.dll System::Runtime::ExceptionServices::ExceptionDispatchInfo.Throw 0x0000000000000019
27 System.Private.Threading System::Runtime::CompilerServices::TaskAwaiter.ThrowForNonSuccess 0x0000000000000053
28 System.Private.Threading System::Runtime::CompilerServices::TaskAwaiter.HandleNonSuccessAndDebuggerNotification 0x000000000000002D
29 System.Private.Threading System::Runtime::CompilerServices::TaskAwaiter.ValidateEnd 0x000000000000001D
30 System.Private.Threading System::Runtime::CompilerServices::TaskAwaiter.GetResult 0x000000000000000B
31 APPNAME*.exe InstagramDownloader::pgHome::_imgDownloader_d__15.MoveNext 0x00000000000015AF
32 SharedLibrary.dll System::Runtime::ExceptionServices::ExceptionDispatchInfo.Throw 0x0000000000000019
33 System.Private.Threading System::Runtime::CompilerServices::TaskAwaiter.ThrowForNonSuccess 0x0000000000000053
34 System.Private.Threading System::Runtime::CompilerServices::TaskAwaiter.HandleNonSuccessAndDebuggerNotification 0x000000000000002D
35 System.Private.Threading System::Runtime::CompilerServices::TaskAwaiter.ValidateEnd 0x000000000000001D
36 System.Private.Threading System::Runtime::CompilerServices::TaskAwaiter.GetResult 0x000000000000000B
37 APPNAME*.exe InstagramDownloader::pgHome::_btnDownload_Click_d__17.MoveNext 0x000000000000025D
38 APPNAME*.McgInterop.dll McgInterop::McgHelpers.ThrowFailed 0x0000000000000033
39 APPNAME*.McgInterop.dll McgInterop::ComCallHelpers.ComCall__HRESULT 0x00000000000000A9
40 APPNAME*.McgInterop.dll McgInterop::ForwardComSharedStubs.Func_TResult___System.__Canon,_System.__Canon_ 0x000000000000002B
41 APPNAME*.McgInterop.dll Windows::UI::Popups::MessageDialog.ShowAsync 0x0000000000000011
42 APPNAME*.exe InstagramDownloader::pgHome::_btnDownload_Click_d__17.MoveNext$catch$0 0x000000000000002F
43 SharedLibrary.dll System::Runtime::ExceptionServices::ExceptionDispatchInfo.Throw 0x0000000000000019
44 System.Private.Threading System::Runtime::CompilerServices::AsyncMethodBuilderCore::__c._ThrowAsync_b__9_0 0x0000000000000013
45 System.Private.Threading System::Threading::WinRTSynchronizationContext::Invoker.InvokeCore 0x0000000000000033
I suggest updating all SQLite-related packages on NuGet as well as the SQLite extension for Visual Studio (via Tools -> Extensions and Updates...)
Update
As I have learned, you use EntityFrameworkCore, which works only with Windows 10 Fall Creators Update and newer and will not work on older versions of UWP. To get rid of the issues, you will have to set your app to have minimum SDK version 16299 (FCU). If you need to support older versions, you will have to work without Entity Framework for now...
I need to generate the following xml output from the following dataset. I have attached the dataset and the xml output sample. I am going to put the C# code in a SSIS script task. Can you guys help me to write to code in C#. I am a database guy but i really don't know how this XML works with dataset. I'd really appricate if you can help. Thanks In advance.
AGENTID STARTDAY STARTMONTH STARTYEAR STARTHOUR STARTMINUTE ENDHOUR ENDMINUTE EXCEPTION
910180 5 5 2011 10 30 11 0 OPEN
910180 5 5 2011 11 0 11 30 OPEN
910180 5 5 2011 11 30 12 0 OPEN
910180 6 5 2011 17 30 18 0 OPEN
910180 7 5 2011 18 0 18 30 OPEN
911568 6 5 2011 16 30 17 0 OPEN
911568 6 5 2011 19 0 19 30 OPEN
911568 6 5 2011 19 30 20 0 OPEN
911568 6 5 2011 20 0 20 30 OPEN
911568 6 5 2011 20 30 21 0 OPEN
911568 6 5 2011 21 0 21 30 OPEN
911568 6 5 2011 22 0 22 30 OPEN
911568 7 5 2011 10 30 11 0 OPEN
911568 7 5 2011 11 0 11 30 OPEN
<?xml version="1.0" encoding="ISO-8859-1" ?>
<agentScheduleList>
<agent>
<id>470185</id>
<schedule>
<day>12</day>
<month>8</month>
<year>2002</year>
<exception>
<startdate>
<day>12</day>
<month>8</month>
<year>2002</year>
</startdate>
<starttime>
<hour>22</hour>
<min>0</min>
</starttime>
<endtime>
<hour>2</hour>
<min>0</min>
</endtime>
<code>Open</code>
</exception>
<exception>
<startdate>
<day>13</day>
<month>8</month>
<year>2002</year>
</startdate>
<starttime>
<hour>2</hour>
<min>0</min>
</starttime>
<endtime>
<hour>3</hour>
<min>0</min>
</endtime>
<code>Lunch</code>
</exception>
<exception>
<startdate>
<day>13</day>
<month>8</month>
<year>2002</year>
</startdate>
<starttime>
<hour>3</hour>
<min>0</min>
</starttime>
<endtime>
<hour>7</hour>
<min>0</min>
</endtime>
<code>Open</code>
</exception>
</schedule>
</agent>
<agent>
<id>470185</id>
<schedule>
<day>13</day>
<month>8</month>
<year>2002</year>
<offexception/>
</schedule>
</agent>
</agentScheduleList>
The DataSet class has a WriteXml function to write your data to a file, or GetXml to return it as a string. The documentation on MSDN has further explanation of customizing the output to get it to match exactly what you need, if your XML structure differs from your database structure.
I think you can just use:
string xml = yourDataSet.GetXml();
You can read it back into a DataSet using the DataSet method ReadXml.
You can also use the following to get an XmlDataDocument:
System.Xml.XmlDataDocument xmlDoc = new System.Xml.XmlDataDocument(yourDataSet);