Search Results

Search found 10463 results on 419 pages for 'required'.

Page 108/419 | < Previous Page | 104 105 106 107 108 109 110 111 112 113 114 115  | Next Page >

  • Strategy for building an application to replace a large spreadsheet

    - by Dan Walmsley
    I'm working on an application that is going to replace a rather large spreadsheet. The spreadsheet is used to budget purchases and things like that. It is the largest spreadsheet I have ever seen, and it required a lot of manual data entry, so this application is going to automate much of that. But as I'm working on this I've noticed its slow going. And I got to thinking this must be a common thing to do many companies will start with something like a spreadsheet, then when they get too big to maintain that, they will get a custom application built. So is there anything out there ( a framework or similar ) that does this sort of thing, migrating a spreadsheet to a custom application. I've had a quick Google but not really seen the kind of thing that I'm looking for. It's too late for this project, but I thought it would be worth having a look for next time. How do you guys tackle this problem?

    Read the article

  • What is a generalized form creator that runs on .NET / Windows?

    - by Josh
    At the institution that I'm at, we've been looking for web applications that enable users to create and deploy their own forms. Similar applications are Wufoo, and google forms. Unfortunately, those solutions will not work for us, because we are required to host all data and information on our own servers. I've found a few solutions that are written in PHP, but at this point, it doesn't appear that this is acceptable. I've tried searching for ".net form creator" but unfortunately, when you search for ".net forms" you get a lot of results relating to created asp.net webforms, which is not what we're looking for at all. I've been told that finding a solution that runs on .NET and windows servers with either Oracle or MSSQL databases would be much more acceptable. I've found a few, but they are open source, and the IS Security people are not kind to those solutions, despite my attempts to show otherwise. If anyone knows of some solution out there, I would greatly appreciate you passing on the names of those applications!

    Read the article

  • Cannot install Android 2.3 libs dies to missing ia32-libs-multiarch

    - by Enrique
    I need to get my box up to par or android development, but cannot get ia32-libs to install for the life of me. Can anyone help? The error Android's tool gave me was Stopping ADB server failed (code -1) and after a bit of investigation I found that I needed to install the ia32-libs which from my understanding is a pain. Ubuntu 12.04 (x64) xxx@xxx:~$ sudo apt-get -f install ia32-libs Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: ia32-libs : Depends: ia32-libs-multiarch E: Unable to correct problems, you have held broken packages.

    Read the article

  • Redirecting a subdomain from Wordpress.com to an external web address

    - by user127236
    I have a question about redirecting a subdomain of a blog hosted on Wordpress.com to an external URL. Given the following: 1) I own a domain name foobar.com purchased from another registrar (not from Wordpress.com). 2) I have purchased the Custom Domain option on Wordpress.com, and have completed the configuration to make foobar.com resolve to foobar.wordpress.com. 3) I will establish an external site for a store, such as store.yahoo.com/foobar. 4) I want to redirect the subdomain store.foobar.com to store.yahoo.com/foobar. How do I set up the Custom DNS records within Wordpress.com to accomplish this subdomain redirection, while leaving foobar.com pointed to my Wordpress blog? I suspect that the CNAME directive is involved, but I cannot figure out the required syntax. Thanks... JGB

    Read the article

  • Ubuntu 12.10, Wireless not working

    - by Karthik
    My Laptop is Acer 5742G with "Npilfy 802.11 wireless". I have both windows 7 and Ubuntu 12.10 Earlier when I had Ubuntu 12.04, the wireless was working fine, but after installing 12.10 wireless is not working at all, although it is still working in windows. I am not able to see "Wireless Networks" in the Network Manager nor in the Network Settings. This was the output I got for rfkill 0: acer-wireless: Wireless LAN Soft blocked: no Hard blocked: no 1: acer-bluetooth: Bluetooth Soft blocked: no Hard blocked: no 2: hci0: Bluetooth Soft blocked: no Hard blocked: no This is a snapshot of my Additional Drivers settings. As you can see, the required driver for wireless is installed.

    Read the article

  • OUD as a OAM Identity Store

    - by Sylvain Duloutre
    Since 11gR2, OUD can be used natively as a OAM Identity Store. Select  "OUD: Oracle Unified Directory" as Store Type as described here. As an alternate solution, you can also configure OVD as Identity Store with OAM and then configure LDAP adapter for OVD with OUD details.Configuring Identity store for OAM is documented here. Choose "OVD: Oracle Virtual Directory" as store type and provide store details as per the document. Configuring LDAP adapter for OVD is documented here. Provide your OUD details required as per the document.

    Read the article

  • Loading XML file containing leading zeros with SSIS preserving the zeros

    - by Compudicted
    Visiting the MSDN SQL Server Integration Services Forum oftentimes I could see that people would pop up asking this question: “why I am not able to load an element from an XML file that contains zeros so the leading/trailing zeros would remain intact?”. I started to suspect that such a trivial and often-required operation perhaps is being misunderstood by the developer community. I would also like to add that the whole state of affairs surrounding the XML today is probably also going to be increasingly affected by a motion of people who dislike XML in general and many aspects of it as XSD and XSLT invoke a negative reaction at best. Nevertheless, XML is in wide use today and its importance as a bridge between diverse systems is ever increasing. Therefore, I deiced to write up an example of loading an arbitrary XML file that contains leading zeros in one of its elements using SSIS so the leading zeros would be preserved keeping in mind the goal on simplicity into a table in SQL Server database. To start off bring up your BIDS (running as admin) and add a new Data Flow Task (DFT). This DFT will serve as container to adding our XML processing elements (besides, the XML Source is not available anywhere else other than from within the DFT). Double-click your DFT and drag and drop the XMS Source component from the Tool Box’s Data Flow Sources. Now, let the fun begin! Being inspired by the upcoming Christmas I created a simple XML file with one set of data that contains an imaginary SSN number of Rudolph containing several leading zeros like 0000003. This file can be viewed here. To configure the XML Source of course it is quite intuitive to point it to our XML file, next what the XML source needs is either an embedded schema (XSD) or it can generate one for us. In lack of the one I opted to auto-generate it for me and I ended up with an XSD that looked like: <?xml version="1.0"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="XMasEvent"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="CaseInfo"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="ID" type="xs:unsignedByte" /> <xs:element minOccurs="0" name="CreatedDate" type="xs:unsignedInt" /> <xs:element minOccurs="0" name="LastName" type="xs:string" /> <xs:element minOccurs="0" name="FirstName" type="xs:string" /> <xs:element minOccurs="0" name="SSN" type="xs:unsignedByte" /> <!-- Becomes string -- > <xs:element minOccurs="0" name="DOB" type="xs:unsignedInt" /> <xs:element minOccurs="0" name="Event" type="xs:string" /> <xs:element minOccurs="0" name="ClosedDate" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> As an aside on the XML file: if your XML file does not contain the outer node (<XMasEvent>) then you may end up in a situation where you see just one field in the output. Now please note that the SSN element’s data type was chosen to be of unsignedByte (and this is for a reason). The reason is stemming from the fact all our figures in the element are digits, this is good, but this is not exactly what we need, because if we will attempt to load the data with this XSD then we are going to either get errors on the destination or most typically lose the leading zeros. So the next intuitive choice is to change the data type to string. Besides, if a SSIS package was already created based on this XSD and the data type change was done thereafter, one should re-set the metadata by right-clicking the XML Source and choosing “Advanced Editor” in which there is a refresh button at the bottom left which will do the trick. So far so good, we are ready to load our XML file, well actually yes, and no, in my experience typically some data conversion may be required. So depending on your data destination you may need to tweak the data types targeted. Let’s add a Data Conversion Task to our DFT. Your package should look like: To make the story short I only will cover the SSN field, so in my data source the target SQL Table has it as nchar(10) and we chose string in our XSD (yes, this is a big difference), under such circumstances the SSIS will complain. So will go and manipulate on the data type of SSN by making it Unicode String (DT_WSTR), World String per se. The conversion should look like: The peek at the Metadata: We are almost there, now all we need is to configure the destination. For simplicity I chose SQL Server Destination. The mapping is a breeze, F5 and I am able to insert my data into SQL Server now! Checking the zeros – they are all intact!

    Read the article

  • ETPM/OUAF 2.3.1 Framework Overview - Session 4

    - by MHundal
    The OUAF Framework Session 4 is now available. This session covered the following topics: 1. Extendable Data Areas - how to extend base owned Data Areas 2. Bundling - how to bundle ETPM Configuration Objects in ETPM 3. Audit on Inquiry - how to enable and view audit on inquiry 4. Advanced Debug - demonstration of the advanced debugger 5. Maintenance Dialogue- An overview of objects required to work with MO's. You can stream the recording using the following link: https://oracletalk.webex.com/oracletalk/ldr.php?AT=pb&SP=MC&rID=71155037&rKey=63c3e75d32277283   You can download the recording using the following link: https://oracletalk.webex.com/oracletalk/lsr.php?AT=dw&SP=MC&rID=71155037&rKey=f3126d1d2894f754

    Read the article

  • How Orchard works

    I just finished writing a long documentation topic on the Orchard project wiki that aims at being a good starting point for developers who want to understand the architecture, structure and general philosophy behind the Orchard CMS. It is not required reading for anyone who only wants to write Orchard modules and themes but hopefully it will help people who want to evaluate the platform and start writing patches. Read it here: http://orchardproject.net/docs/How-Orchard-works.ashx...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • SOA & BPM Specialized Partners Only! New Service to Promote Your SOA & BPM Events at oracle.com/events

    - by JuergenKress
    The Partner Event Publisher has just been made available to all SOA & BPM specialized partners in EMEA. Partners now have the opportunity to publish their events to the Oracle.com/events site and spread the word on their upcoming live in-person and/or live webcast events. See the demo below and click here to read more information. SOA & BPM Partner Community For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit  www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center. Blog Twitter LinkedIn Mix Forum Technorati Tags: Specialization,marketing services,oracle events,SOA Community,Oracle SOA,Oracle BPM,BPM Community,OPN,Jürgen Kress

    Read the article

  • Managing .NET Deployment Configuration With Rake

    - by Liam McLennan
    Rake is a ruby internal DSL for build scripting. With (or without) the help of albacore rake makes an excellent build scripting tool for .NET projects. The albacore documentation does a good job of explaining how to build solutions with rake but there is nothing to assist with another common build task – updating configuration files. The following ruby script provides some helper methods for performing common configuration changes that are required as part of a build process.  class ConfigTasks def self.set_app_setting(config_file, key, value) ovsd_element = config_file.root.elements['appSettings'].get_elements("add[@key='#{key}']")[0] ovsd_element.attributes['value'] = value end def self.set_connection_string(config_file, name, connection_string) conn_string_element = config_file.root.elements['connectionStrings'].get_elements("add[@name='#{name}']")[0] conn_string_element.attributes['connectionString'] = connection_string end def self.set_debug_compilation(config_file, debug_compilation) compilation_element = config_file.root.elements['system.web'].get_elements("compilation")[0] compilation_element.attributes['debug'] = false end private def self.write_xml_to_file(xml_document, file) File.open(file, 'w') do |config_file| formatter = REXML::Formatters::Default.new formatter.write(xml_document, config_file) end end end To use, require the file and call the class methods, passing the configuration file name and any other parameters. require 'config_tasks' ConfigTasks.set_app_setting 'web.config', 'enableCache', 'false'

    Read the article

  • Server 11.04 Bind9 Failure

    - by Gordon McIntosh
    After 3 weeks of trying to diagnose a failure of bind9, to start I have to admit I need assistance. Initially it was running correctly and when I made a modification to a bind file and re-run it an error msg came back rndc: 127.0.0.1#953 bind9 start fail It also fails to start on any other bind9 upgrade or required pkg. grep on mysql returns nothing now even if it is running, and dig on 127 only works when I have my phone connected as a modem. I don't have any more diagnostics that I know of, so some help would be appreciated as development has stopped.

    Read the article

  • Cannot install Ubuntu

    - by Tasso
    I'm using Windows 7 and when I try to install and this message appears: "An error ocurred: Could not retrieve the required installation files For more information, please see the log file: c:\users\.............\wubi-12.10-rev273.log" The final part of the log - 12-17 13:43 DEBUG Distro: checking whether F:\ is a valid Ubuntu CD 12-17 13:43 DEBUG Distro: parsing info from str=Ubuntu 12.10 "Quantal Quetzal" - Release i386 (20121017.2) 12-17 13:43 DEBUG Distro: parsed info={'name': 'Ubuntu', 'subversion': 'Release', 'version': '12.10', 'build': '20121017.2', 'codename': 'Quantal Quetzal', 'arch': 'i386'} 12-17 13:43 INFO Distro: Found a valid CD for Ubuntu: F:\ 12-17 13:43 INFO root: Running the uninstaller... 12-17 13:43 INFO CommonBackend: This is the uninstaller running 12-17 13:43 DEBUG WindowsFrontend: __init__... 12-17 13:43 DEBUG WindowsFrontend: on_init... 12-17 13:43 INFO WinuiPage: appname=wubi, localedir=C:\Users\TASSO'~1\AppData\Local\Temp\pylED6A.tmp\translations, languages=['en_US', 'en'] 12-17 13:43 INFO WindowsFrontend: Operation cancelled 12-17 13:43 DEBUG WindowsFrontend: frontend.quit 12-17 13:43 DEBUG WindowsFrontend: frontend.on_quit 12-17 13:43 DEBUG root: application.on_quit 12-17 13:43 INFO root: sys.exit

    Read the article

  • Develop 3d game for iphone & android in single code

    - by lajpat
    I have to make a 3d game on the lines of this app 3D Chess I want to make this app for both android & iphone by writing a single code. Of course little native code will be required to be done. I want to ensure that entire logic & animation code is written only once. What software does one suggest to achieve this since I am not a tight schedule. I came across Corona but I am not sure if such game can be made using it. Others I found Unity & Shiva. I am not experience in 3D game so please if someone can help Thanks Lajpat

    Read the article

  • Product Support Webcast for Existing Customers:Getting the Most from My Oracle Support, Tips and Tricks for WebCenter Content

    - by John Klinke
    My Oracle Support (MOS) is the one-stop support solution for WebCenter customers with Oracle Premier Support. Join us for this 1-hour Advisor Webcast "Getting the Most from My Oracle Support, Tips and Tricks for WebCenter Content" on July 11, 2013 at 11:00am Eastern (16:00 UK / 17:00 CET / 8:00am Pacific / 9:00am Mountain) Topics will include:- My Oracle Support Search, Advanced Search, and PowerViews- Information Centers- Latest Patches and Bundle Patches- My Oracle Support Community- Remote Diagnostic Administration (RDA) Make sure to register and mark this date on your calendar. Register here: https://oracleaw.webex.com/oracleaw/onstage/g.php?d=594341268&t=aOnce your registration request is approved, you will receive a confirmation email with instructions for joining the webcast on July 11. Past Advisor Webcasts have been recorded and can be viewed by going to the 'archived' tabs on this knowledge base announcement:https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1456204.1 (active support contract required)

    Read the article

  • Shopping cart for service providers?

    - by uos??
    From my limited exposure, it seems to me that most shopping cart/eCommerce platforms are specifically for products-based retailers. On several occasions now, I've been asked about ecommerce solutions for service providers. That is, it's basically just a single product with payment but no shipping, and highly configurable "product". Any recommendations for a cost-efficient solution (high feature coverage) for such a web platform? Requirements: .NET No/suppressed product catalog A service customization selection form Payment (probably PayPal with accountless credit card processing) Guest purchases (no site account required) Email confirmation Customer service -facing control panel It's hard to search for such a product because I get "web service based ecommerce software" and so on clouding up the results.

    Read the article

  • Most appropriate OSS license for infrastructure code

    - by Richard Szalay
    I'm looking into potentially releasing some infrastructure code (related to automated builds and deployments) as OSS and I'm curious about how the various OSS licenses effect it. Specifically, LGPL prevents the code itself (part/whole) being modified into a commercial product (which is what I'm after), but allows it to be "linked to" in the creation of commercial products (also ok). How does the "linked to" clause relate to infrastructure code, which is not deployed with the product itself? Would the application still be required to provide "appropriate legal notices" (which I'm not fussed over)? Would I be better off looking at the Eclipse Public License?

    Read the article

  • OBIEE 11g recommended patch sets

    - by THE
     Martin has busied himself to combine the recommended patch sets for OBIEE 11g into one single useful KM note.(This one contains the recommendations for 11.1.1.5 as well as those for 11.1.1.6) OBIEE 11g: Required and Recommended Patches and Patch Sets (Doc ID 1488475.1) So if you are looking for update/patch information for your OBIEE installation - this is most likely a useful stop. And as patching is an ongoing process you may want to bookmark this KM doc, as I am sure Martin will keep this current as new patches come out. Oh - and if you are looking for upgrade information from 11.1.1.5 to 11.1.1.6, KM Doc ID 1434253.1 might just be the thing you are looking for.

    Read the article

  • How do I store the OAuth v1 consumer key and secret for an open source desktop Twitter client without revealing it to the user?

    - by Justin Dearing
    I want to make a thick-client, desktop, open source twitter client. I happen to be using .NET as my language and Twitterizer as my OAuth/Twitter wrapper, and my app will likely be released as open source. To get an OAuth token, four pieces of information are required: Access Token (twitter user name) Access Secret (twitter password) Consumer Key Consumer Secret The second two pieces of information are not to be shared, like a PGP private key. However, due to the way the OAuth authorization flow is designed, these need to be on the native app. Even if the application was not open source, and the consumer key/secret were encrypted, a reasonably skilled user could gain access to the consumer key/secret pair. So my question is, how do I get around this problem? What is the proper strategy for a desktop Twitter client to protect its consumer key and secret?

    Read the article

  • Consuming JSON stream into AWS Database on the cheap

    - by wjl
    I'm working on a project that needs to consume a JSON stream (approximately 1MB / minute), and parse and insert objects into a database. Amazon's DynamoDB or SimpleDB seem like attractive options for this. Is there a web service that can run a very simple script to eat the data and put it in a database? I could use a worker on Heroku or Elastic Beanstalk, or even pure EC2, but I'd like to find a service that's much cheaper, due to the very low amount of bandwidth and CPU required. (Sorry for the crappy tags. I'm not even sure where to categorize this question.)

    Read the article

  • How to properly set up Sun's JDK?

    - by jurchiks
    I'm trying to manually install the Sun JDK package (I have my reasons, don't bother asking why). I've successfully extracted the .bin file into /usr/lib/jvm/jdk1.6.0_23, but the problem is the PATH variable. I added this line to the /etc/environment file: JAVA_HOME="/usr/lib/jvm/jdk1.6.0_23" and added JAVA_HOME/bin to the PATH variable, BUT the OS still doesn't recognise the command java, says it's not installed and offers me gcj and openjdk. There was another way by using java-package and converting the .bin to .deb installer, but unfortunately that package is not available on/for maverick, so I can't do it that way. How can I make the PATH variable work and is there anything else required apart from the environment variables to make it all work? When I try to use the update-java-alternatives -l command, it says the following: awk: cannot open /usr/lib/jvm/*.jinfo (No such file or directory) jdk1.6.0_23 /usr/lib/jvm/jdk1.6.0_23 What should be the name of the file and the contents of it?

    Read the article

  • How to Delete/Disable gnome panels. No existing solutions working

    - by Alan Peabody
    I would like to remove gnome panel completely. I spend most of my time in a (tmux) terminal or a browser. Synapse and a small hidden AWN panel fit the rest of my needs. I have tried all recommended solutions including this (found it a few places): How to delete Gnome Panel? However it always comes back at log in. I have tried changing the required components panel to avant-whatever as well as to empty. I have tried setting them both as default (right click set as default). Right now I just have the last panel set to transparent and auto hide, but it still tends to be annoying. What do I need to do to get rid of this damn thing? Clarification: Using gconf-editor, gconftool2, and/or Ubuntu tweak to set /desktop/gnome/session/required_component/panel to avant-window-navigator is not working. The setting stays when I reboot, but the empty gnome panel sticks around.

    Read the article

  • Cannot install nodejs and npm

    - by user809829
    I'm trying to install nodejs and npm, however, it fails. This is my terminal: sudo apt-get install nodejs npm Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: nodejs : Conflicts: npm E: Unable to correct problems, you have held broken packages. What to do? I'm kinda lost :(

    Read the article

  • Can't get Broadcom 43142 drivers to work after installation on 5420 Inspiron

    - by beckett
    I'm a complete newbie to ubuntu, I've already installed and reinstalled the Broadcom driver required done a numerous amount of steps on terminal but I can't seem to get wireless working. However, my wired connection seems to work just fine. also I have tried to follow the instructions but get stuck at step number 2 when i get told "No package dpkg is available": 1) Download the file from the link 2) sudo yum install dpkg 3) mkdir BCM43142 4) dpkg-deb -x Downloads/wireless-bcm43142-dkms-6.20.55.19_amd64.deb BCM43142 5) cd BCM43142/usr/src/wireless-bcm43142-oneiric-dkms-6.20.55.19~bdcom0602.0400.1000.0400/src/wl/sys 6) sudo yum install kernel-devel kernel-headers 7) vi wl_linux.c 8) around line 43, remove the line include 9) save the file (:wq) 10) cd ../../.. 11) make Things should work, and you'll have a file called "wl.ko" in the current directory. 12) sudo yum remove broadcom-wl 13) sudo mkdir -p /lib/modules/3.5.2-3.fc17.x86_64/extra/wl 14) sudo cp wl.ko /lib/modules/3.5.2-3.fc17.x86_64/extra/wl 15) sudo depmod -a 16) sudo modprobe wl I really need help :/

    Read the article

  • Developing Schema Compare for Oracle (Part 5): Query Snapshots

    - by Simon Cooper
    If you've emailed us about a bug you've encountered with the EAP or beta versions of Schema Compare for Oracle, we probably asked you to send us a query snapshot of your databases. Here, I explain what a query snapshot is, and how it helps us fix your bug. Problem 1: Debugging users' bug reports When we started the Schema Compare project, we knew we were going to get problems with users' databases - configurations we hadn't considered, features that weren't installed, unicode issues, wierd dependencies... With SQL Compare, users are generally happy to send us a database backup that we can restore using a single RESTORE DATABASE command on our test servers and immediately reproduce the problem. Oracle, on the other hand, would be a lot more tricky. As Oracle generally has a 1-to-1 mapping between instances and databases, any databases users sent would have to be restored to their own instance. Furthermore, the number of steps required to get a properly working database, and the size of most oracle databases, made it infeasible to ask every customer who came across a bug during our beta program to send us their databases. We also knew that there would be lots of issues with data security that would make it hard to get backups. So we needed an easier way to be able to debug customers issues and sort out what strange schema data Oracle was returning. Problem 2: Test execution time Another issue we knew we would have to solve was the execution time of the tests we would produce for the Schema Compare engine. Our initial prototype showed that querying the data dictionary for schema information was going to be slow (at least 15 seconds per database), and this is generally proportional to the size of the database. If you're running thousands of tests on the same databases, each one registering separate schemas, not only would the tests would take hours and hours to run, but the test servers would be hammered senseless. The solution To solve these, we needed to be able to populate the schema of a database without actually connecting to it. Well, the IDataReader interface is the primary way we read data from an Oracle server. The data dictionary queries we use return their data in terms of simple strings and numbers, which we then process and reconstruct into an object model, and the results of these queries are identical for identical schemas. So, we can record the raw results of the queries once, and then replay these results to construct the same object model as many times as required without needing to actually connect to the original database. This is what query snapshots do. They are binary files containing the raw unprocessed data we get back from the oracle server for all the queries we run on the data dictionary to get schema information. The core of the query snapshot generation takes the results of the IDataReader we get from running queries on Oracle, and passes the row data to a BinaryWriter that writes it straight to a file. The query snapshot can then be replayed to create the same object model; when the results of a specific query is needed by the population code, we can simply read the binary data stored in the file on disk and present it through an IDataReader wrapper. This is far faster than querying the server over the network, and allows us to run tests in a reasonable time. They also allow us to easily debug a customers problem; using a simple snapshot generation program, users can generate a query snapshot that could be sent along with a bug report that we can immediately replay on our machines to let us debug the issue, rather than having to obtain database backups and restore databases to test systems. There are also far fewer problems with data security; query snapshots only contain schema information, which is generally less sensitive than table data. Query snapshots implementation However, actually implementing such a feature did have a couple of 'gotchas' to it. My second blog post detailed the development of the dependencies algorithm we use to ensure we get all the dependencies in the database, and that algorithm uses data from both databases to find all the needed objects - what database you're comparing to affects what objects get populated from both databases. We get information on these additional objects using an appropriate WHERE clause on all the population queries. So, in order to accurately replay the results of querying the live database, the query snapshot needs to be a snapshot of a comparison of two databases, not just populating a single database. Furthermore, although the code population queries (eg querying all_tab_cols to get column information) can simply be passed straight from the IDataReader to the BinaryWriter, we need to hook into and run the live dependencies algorithm while we're creating the snapshot to ensure we get the same WHERE clauses, and the same query results, as if we were populating straight from a live system. We also need to store the results of the dependencies queries themselves, as the resulting dependency graph is stored within the OracleDatabase object that is produced, and is later used to help order actions in synchronization scripts. This is significantly helped by the dependencies algorithm being a deterministic algorithm - given the same input, it will always return the same output. Therefore, when we're replaying a query snapshot, and processing dependency information, we simply have to return the results of the queries in the order we got them from the live database, rather than trying to calculate the contents of all_dependencies on the fly. Query snapshots are a significant feature in Schema Compare that really helps us to debug problems with the tool, as well as making our testers happier. Although not really user-visible, they are very useful to the development team to help us fix bugs in the product much faster than we otherwise would be able to.

    Read the article

< Previous Page | 104 105 106 107 108 109 110 111 112 113 114 115  | Next Page >