Unix Technical Forum

SEO

vBulletin Search Engine Optimization


Go Back   Unix Technical Forum > Database Server Software > Microsoft SQL Server > SQL Server

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 03-01-2008, 11:34 AM
Ted
 
Posts: n/a
Default General advice needed regarding MS Access, MS SQL Server, MySQL/PostgreSQL

I am working on two versions of an application, one of which will be a
windows forms application (which will need to be redistributable) and
the other will be a web application.

I have MS Visual Studio 2005 (along with the developer's edition of MS
SQL Server), but not MS Access. I also have MySQL, PostgreSQL, Sun's
application server, Tomcat and Apache web server. I am working on
Windows XP Pro, and have installed the .NET 3 SDK and all relevant
related products I could find (e.g. 2 extensions packages for Visual
Studio).

I have one MS Access database, to which my users should have read only
access. I have, and have used, a tool for importing MS Access
databases into MySQL. I expect that SQL Server has a similar utility
hidden somewhere (where I haven't yet looked, though I HAVE been
looking - obviously in the wrong places). I have located a similar
utility for importing MS Access databases into PostgreSQL. I have not
yet decided which servers to use for the web version, but that is
another story, for which I may raise another thread in due course (but
I welcome suggestions which may reduce the effort required given
required effort for the windows forms app).

My problem is for the windows form aplication (intended for use by a
single family). I expect to use ADO.NET. The question is, should I
import the Access database into MS SQL, and redistribute it, along with
MS SQL Server Express (or is that necessary), or distribute it just as
an Access database and use the jet engine to access it. A related
question is, "Does ADO.NET support creating new databases for a given
engine?" Imagine a recipe database. It is easy enough to create a SQL
script that creates all the required tables, indices, foreign keys,
&c., but can I submit that SQL script to an ADO.NET object, along with
a file name, and have it create, e.g., an Access database with the
supplied name. Or do I have to create a database file with nothing in
it other than the schema?

I have more questions, but they'll have to wait.

Thanks

Ted

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 03-01-2008, 11:35 AM
samuelhon
 
Posts: n/a
Default Re: General advice needed regarding MS Access, MS SQL Server, MySQL/PostgreSQL



On 13 Nov, 20:40, "Ted" <r.ted.by...@rogers.com> wrote:
> I am working on two versions of an application, one of which will be a
> windows forms application (which will need to be redistributable) and
> the other will be a web application.


Hi there

I've come across something similar before in the days of VB6 but not
sure how well ADO.NET can deal with it, might require alot of coding.

My recommendation would be to have a common business layer which is
shared by the winforms and web applications. You can slap the two
different UIs on top which should be fairly simple. On the data side,
you can create some interfaces which will allow you to communicate with
your data using the same methods and create data access code for Access
and your other choice of server

Shout if you have any questions

Sam

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 03-01-2008, 11:35 AM
Ted
 
Posts: n/a
Default Re: General advice needed regarding MS Access, MS SQL Server, MySQL/PostgreSQL

Hi Sam,

My first question is this: "If you were in my place, and wanted to
simplify deployment, would you use some of the ADO.NET classes to copy
the MS Access database to SQL Server, and then deploy SQL Server 2005
Express with your application, or use the Jet engine for both the
existing Access database and the new recipe database, or leave the
Access database as it is and create a SQL Server Express database for
the new database?"

I ask this first because a) I don't have Access so working with an
Access database is a PITA except within my Visual Studio 2005
application projects, b) IIRC the Jet engine is included with all
recent versions of Windows (at least the ones I'll support), and c)
based on my reading, I can deploy the SQL Server 2005 Express with my
application (or is this necessary - am I mistaken in assuming the SQL
Server 2005 Express is not included in the latest versions of Windows)

A second question is this: "Is the dialect of SQL used by Access the
same as that used by SQL Server 2005?" In other words, can I create a
DDL SQL script in SQL Server 2005's Management Studio that will create
my recipe database and then use ADO.NET 2 or ADO.NET 3 to submit it to
the Jet engine, along with a file name ending in mdb and have the
application properly create a NEW Access database? I ask because, with
my current suite of tools, it is trivially easy to create my new
database in SQL Server (and in a form entirely supported by the
capabilities of SQL Server Express - this db doesn't need the
capabilities in the other editions of SQL Server), but I am concerned
about how to deploy it or to make a distribution that will install
everything my application requires on a new machine (or a client's
machine). When I bought Visual Studio v6 oh so many eons ago, it came
with a utility for building distribution images that could be placed on
floppies of CDs, but I can't find the counterpart for Visual Studio
2005.

Thanks

Ted.

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 03-01-2008, 11:36 AM
samuelhon
 
Posts: n/a
Default Re: General advice needed regarding MS Access, MS SQL Server, MySQL/PostgreSQL

Hi Ted

I dont know enough about your situation to make a suggestion yet. A
couple of questions from me:
Why do you need to use Access if you're going to install SQL Server
Express?
Is this a client requirement?
Is there alot of information? Could you use XML?

Not sure Jet is actually included with XP, think you have to install
it.

With regards to your second question, I'm afraid I dont know. I do
remember Access having a subset of commands, not sure about the latest
versions

Sam

Ted wrote:
> Hi Sam,
>
> My first question is this: "If you were in my place, and wanted to
> simplify deployment, would you use some of the ADO.NET classes to copy
> the MS Access database to SQL Server, and then deploy SQL Server 2005
> Express with your application, or use the Jet engine for both the
> existing Access database and the new recipe database, or leave the
> Access database as it is and create a SQL Server Express database for
> the new database?"
>
> I ask this first because a) I don't have Access so working with an
> Access database is a PITA except within my Visual Studio 2005
> application projects, b) IIRC the Jet engine is included with all
> recent versions of Windows (at least the ones I'll support), and c)
> based on my reading, I can deploy the SQL Server 2005 Express with my
> application (or is this necessary - am I mistaken in assuming the SQL
> Server 2005 Express is not included in the latest versions of Windows)
>
> A second question is this: "Is the dialect of SQL used by Access the
> same as that used by SQL Server 2005?" In other words, can I create a
> DDL SQL script in SQL Server 2005's Management Studio that will create
> my recipe database and then use ADO.NET 2 or ADO.NET 3 to submit it to
> the Jet engine, along with a file name ending in mdb and have the
> application properly create a NEW Access database? I ask because, with
> my current suite of tools, it is trivially easy to create my new
> database in SQL Server (and in a form entirely supported by the
> capabilities of SQL Server Express - this db doesn't need the
> capabilities in the other editions of SQL Server), but I am concerned
> about how to deploy it or to make a distribution that will install
> everything my application requires on a new machine (or a client's
> machine). When I bought Visual Studio v6 oh so many eons ago, it came
> with a utility for building distribution images that could be placed on
> floppies of CDs, but I can't find the counterpart for Visual Studio
> 2005.
>
> Thanks
>
> Ted.


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 03-01-2008, 11:36 AM
Ted
 
Posts: n/a
Default Re: General advice needed regarding MS Access, MS SQL Server, MySQL/PostgreSQL

samuelhon wrote:
> Hi Ted
>

Hi Sam,

> I dont know enough about your situation to make a suggestion yet. A
> couple of questions from me:
> Why do you need to use Access if you're going to install SQL Server
> Express?
> Is this a client requirement?
> Is there alot of information? Could you use XML?
>

The one database I am using is an MS Access database that has been
placed in the public domain by the USDA. It has about 80 MB of
nutrition data. I use it to allow a user to enter a recipe and obtain
an analysis of the nutrition in the prodct of the recipe, either per
serving or per 100 grams, and I support storing the recipes entered by
the user. The schema for both the USDA's nutrition database and my
recipe database is very simple. I suppose I could use XML, but I am
not sure what that buys me. The recipe database will initially be
small (actually it will be empty unless I create a few recipes and
store them as samples of what can be done). The remainder of the
application is smple. It supports creating a weeklong meal plan,
assessing the meal plans entered for how well it meets the nutritional
requirements for each member of the family (there is a window that
allows the user to enter these requirements for each member of the
family), and maintain a health diary, including what has actually been
eaten, any of the user's family's ailments and medications/remedies
used to deal with them. So, if Dad has a heart condition, Mom has
diabetes, and junior has colitis, each of their special nutritional
needs can be satisfied without Dad ;-) having to prepare three
different meals. Additionally, they can assess how well their diet and
medications or remedies serve their respective needs.

The idea of the web application is to extend this to create a global
recipe database, and opportunities for anyone who knows how to cook
earn a little money by contributing their favourite recipes to the
database and supporting people paying a pittance each time they wish to
use someone else's recipe. Of course, the option will be available for
a recipe's author to place his recipes in the public domain. This
would empower all users to try foods they may never have seen before.
I could, for example, try a desert made from lychees and longans (I'm
not sure I have the right spelling for these asian fruits) and 1) know
how to prepare it and 2) know what impact it will have on the
nutritional aspects of that week's meal plan. I don't know about you,
but I see a lot of fresh produce in the supermarkets these days that I
don't know anything about, so I don't buy them. If I had a resource of
the sort I'm trying to create, I could try them in safety.

Here you have the rationale for two versions, one accessable on the web
and the other distributable on CD and usable without access to the web.

As I see it, I either use Access databases for both the USDA data and
mine, or I use Jet to use the USDA data and SQL Server Express for my
recipe database, or I find a way to import the USDA data into SQL
Server Express and use SQL Server Express to access both the USDA data
and mine. Dealing with the web application is fairly straight forward
since I'd be running any server I'd need. But I want to make creation
of the distribution on CDs, or an image that can be downloaded from a
website, as simple as possible.

> Not sure Jet is actually included with XP, think you have to install
> it.
>

I am running the 64 bit version of Windows XP Pro, and it has Jet;
either that or the professional edition of MS Visual Studio installed
it. This I know because I have already used it within a test program
that looks at the USDA data. While my application uses this to analyse
foods and recipes, my end user will never need to look at the raw
nutritional data.

> With regards to your second question, I'm afraid I dont know. I do
> remember Access having a subset of commands, not sure about the latest
> versions
>

Thanks

Ted

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old 03-01-2008, 11:41 AM
Beowulf
 
Posts: n/a
Default Re: General advice needed regarding MS Access, MS SQL Server, MySQL/PostgreSQL

Ted wrote:
> Hi Sam,
>
> My first question is this: "If you were in my place, and wanted to
> simplify deployment, would you use some of the ADO.NET classes to copy
> the MS Access database to SQL Server, and then deploy SQL Server 2005
> Express with your application, or use the Jet engine for both the
> existing Access database and the new recipe database, or leave the
> Access database as it is and create a SQL Server Express database for
> the new database?"


Yes, I would have utilities or procedures that could read data in
various formats, but would store and deploy all my data in one standard
database format(such as SQL Server 2005 Express), if possible, to
simplify application development and maintenance.

> A second question is this: "Is the dialect of SQL used by Access the
> same as that used by SQL Server 2005?"


No, not by a long shot. Different built-in functions (such as IIF() and
CStr() in Access vs CASE statement and CAST() in SQL Server), different
wild cards (* in Access vs % in SQL Server - and completely different
regular expressions for the LIKE statement), different data types, etc.

Some overviews of the differences:
http://sqlserver2000.databases.aspfa...ql-server.html
http://www.mssqlcity.com/Articles/Co..._vs_access.htm
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 03:24 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
UnixAdminTalk.com

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779