SQL Data Sync - column type invalid for use as a key column

Hello,
our sync group is failing to do the sync. Here's a tracingID:
For more information, provide tracing ID ‘e3e568b5-140a-4ae5-a4c8-c178c6bf805d’ to customer support.
I must say, that the column in DB is not a PK or INDEX-ed, it was initially VARCHAR(MAX), after some reading I changed it to VARCHAR(200) and later to TEXT, but the result of syncing is still the same.
Thank you,
Bojan

Hi Bojan,
The error “column type invalid for use as a key column” could be due to the existence of unsupported data types or column properties when implementing the synchronization. I recommend you check your database according to this article:
SQL Database Data Types supported by SQL Data Sync.
Besides, before you design and implement a data synchronization plan, please check the following articles about system requirements for SQL Data Sync and so on.
System Requirements for SQL Data Sync
https://msdn.microsoft.com/en-us/library/azure/jj127278.aspx
Known SQL Data Sync Limits
https://msdn.microsoft.com/en-us/library/azure/jj590380.aspx
SQL Data Sync Best Practices
https://msdn.microsoft.com/en-us/library/azure/hh667328.aspx
Thanks,
Lydia Zhang
Lydia Zhang
TechNet Community Support

Similar Messages

  • Azure SQL Data Sync, LINQ optimization bug

    How can I report the following Bug ?
    var empty = new Set<int>();
    var query = storage.table.Where(item => empty.Contains(item.id));
    // Entity Framework Extended
    query.DeleteAsync()
    The query is optimized to something like this, because the set is empty, and therefore the result set is always empty:
    SELECT
    CAST(NULL AS uniqueidentifier) AS [C1],
    CAST(NULL AS uniqueidentifier) AS [C2],
    CAST(NULL AS int) AS [C3],
    CAST(NULL AS int) AS [C4],
    CAST(NULL AS datetime2) AS [C5],
    CAST(NULL AS varchar(1)) AS [C6],
    CAST(NULL AS int) AS [C7]
    FROM ( SELECT 1 AS X ) AS [SingleRowTable1]
    WHERE 1 = 0
    Now the problem is that update and delete trigger, introduced by Azure SQL Data Sync, will fail because they require the primary key, which is not part of the optimized query. Meaning that when the set is empty the triggers will fail, but if the set contains
    an id, the query is not optimized and therefore will succeed.
    (SELECT [i].[PrimaryKeyId] FROM DELETED AS [i])
    Notice, the problem here is not Entity Framework Extended from my perspective, but the Azure SQL Data Sync Triggers! 

    not sure if i understood your post correctly, but the columns available in the logical inserted and deleted tables available in the trigger are the actual columns of the table itself, not the columns in the query that caused the trigger to fire.

  • SQL Data Sync - error during sync. Unable to diagnose the problem.

    I have 2 SQL data sync groups setup
    First one does a 1 way sync from azure to local db. Sync's only 1 table.
    Second one does a 1 way sync from local db to the azure. Syncs 2 tables.
    After setting it up and getting a few sync errors I was able to figure out what's wrong by checking the logs and fixing the problems. It was all running fine for a while and now it broke down.
    I got a sync error every time sync is attempted - however this time I'm not able to fix anything because I don't have any visibility on what's wrong - when I click on the Log tab in the Azure Management portal it just stays blank - no details come up.
    I click [Logs] Wait spinner comes up 
    And then it looks like this: 
    Another detail worth mentioning is that the error only occurs for the Second sync group that I have.
    Here's what I've attempted so far
    I poked around the azure management portal to try to find another way of looking at the logs - looking for something like ftp access to the log file - couldn't find anything like that.
    I refreshed schema in the sync rules tab.
    Used the SQL Data Sync agent tool on the premise to do the ping operation. Restarted the sql data sync windows service.
    Made sure I have the latest SQL Data Sync Agent installed.
    I'm wondering what are my options from here...
    I'm close to trying to deleting and recreating the sync group... I'm not too comfortable doing this because I know there are some sql tables that get created in the local db to support the operation of the sync - so if I delete the sync group would that automatically
    drop those helper tables as well or would I have to drop those manually - If I do drop those then that will obviously brake the other sync group that works fin as well..
    Any advice is appreciated. Thanks

    hi,
    According to your description, it seems the issue is related to SQL Azure, I will move this thread to SQL Azure Discussions forums to get a better support.
    Regards,
    Will
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Queries on SQL Data Sync

    Hi,
    One of our customers had the following query on SQL Data Sync
    1. ALter database permission is required during setup of sync services and it switches ON the SNAPSHOT ISOLATION level on our on premise DB. what is the impact of it?
    2. After setting up the SNAPSHOT ISOLATION LEVEL ON, it creates tracking tables, some SPs, and triggers and set read commited isolation level multiple times. Is there a way that these
    objects will be created in some other DB and not on the main OLTP so that we can avoid cluttering the main DB with tracking tables, triggers, SPs ets?
    3. As the SNAPSHOT isolation level is introduced in SQL 2005 onwards and is for maintaining row versions in TEMP DB. Does it mean switching it on at DB level, it's going to maintain the
    row and transaction version for all DB objects in TEMP DB , irrespective of whether they are part of sync group or not?
    Any pointers on this would be appreciated.
    Cheers!

    Hi Harish,
    For the knowledge about SNAPSHOT ISOLATION, please check the detail here:
    http://msdn.microsoft.com/en-us/library/tcbchxcb(v=vs.110).aspx
    For the objects created on the database, they cannot be created on other database since the objects need to visit the source database data.
    Actually those objects are required by sync framework, you can find more details here:
    http://msdn.microsoft.com/en-us/library/ee617382(v=sql.110).aspx
    Regards,
    Bowen

  • I'm trying to timestamp (RFC 3161) a pdf using my own timestamp server hardware but always get an error: "Certificate invalid for use" ...

    I'm trying to timestamp (RFC 3161) a pdf using my own timestamp server hardware but always get an error: "Certificate invalid for use" (Original text - pt_BR:O certificado não é válido para uso). How can I get more info on what I'm missing or whats wrong with the certificate?

    Which Acrobat version are you using? Do you use "Document Timestamp" command? If so, do you get this error during the signing process and the signature is not created or signature is created and you get this error when it is validated? If the latter you can open signature properties, click on the "Advanced Properties" and in the next dialog on timestamp's "Show Certificate". If you get this error during the signing process do you get an alert that shows some cryptic info with a number? If you do provide the content of this alert.
    Also which Acrobat version (including minor) are you using?

  • SQL Data Sync Agent can not start - Debug error in windows 7 x86

    Log file as per below
    LocalAgentHost 1/3/2013 11:55:31 AM  id:LocalAgentHost_Info, rId:, sId:00000000-0000-0000-0000-000000000000, traceLevel:Info, agentId:00000000-0000-0000-0000-000000000000, agentInstanceId:00000000-0000-0000-0000-000000000000, version:4.0.89.0, methodName:Main,
    message:Microsoft SQL Data Sync Windows service is starting as a Windows Service.
    LocalAgentHost 1/3/2013 11:55:31 AM  id:LocalAgentHost_Info, rId:, sId:00000000-0000-0000-0000-000000000000, traceLevel:Info, agentId:00000000-0000-0000-0000-000000000000, agentInstanceId:00000000-0000-0000-0000-000000000000, version:4.0.89.0, methodName:OnStart,
    message:Microsoft SQL Data Sync Windows service starting.
    LocalAgentHost 1/3/2013 11:55:31 AM  id:LocalAgentHost_Info, rId:, sId:00000000-0000-0000-0000-000000000000, traceLevel:Info, agentId:00000000-0000-0000-0000-000000000000, agentInstanceId:00000000-0000-0000-0000-000000000000, version:4.0.89.0, methodName:OnStart,
    message:Starting a service worker thread.
    LocalAgentHost 1/3/2013 11:55:32 AM  id:LocalAgentHost_Info, rId:, sId:00000000-0000-0000-0000-000000000000, traceLevel:Info, agentId:6843e83c-6015-433c-97ae-4cb63815f4b5, agentInstanceId:bbd9490b-e160-4176-8988-9707b79ecd75, version:4.0.89.0, methodName:OnStart,
    message:Started a service worker thread.
    LocalAgentHost 1/3/2013 11:55:32 AM  id:LocalAgentHost_Info, rId:, sId:00000000-0000-0000-0000-000000000000, traceLevel:Info, agentId:6843e83c-6015-433c-97ae-4cb63815f4b5, agentInstanceId:bbd9490b-e160-4176-8988-9707b79ecd75, version:4.0.89.0, methodName:OnStart,
    message:Microsoft SQL Data Sync Windows service started successfully.
    LocalAgentHost 1/3/2013 11:55:32 AM  id:LocalAgentHost_Info, rId:, sId:00000000-0000-0000-0000-000000000000, traceLevel:Info, agentId:6843e83c-6015-433c-97ae-4cb63815f4b5, agentInstanceId:bbd9490b-e160-4176-8988-9707b79ecd75, version:4.0.89.0, methodName:StartUxWcfService,
    message: Namedpipe bd54233d-16ce-46d3-8858-5e564732b21c, BaseAddress net.pipe://localhost/bd54233d-16ce-46d3-8858-5e564732b21c
    LocalAgentHost 1/3/2013 11:55:32 AM  id:LocalAgentHost_Info, rId:, sId:00000000-0000-0000-0000-000000000000, traceLevel:Info, agentId:6843e83c-6015-433c-97ae-4cb63815f4b5, agentInstanceId:bbd9490b-e160-4176-8988-9707b79ecd75, version:4.0.89.0, methodName:StartUxWcfService,
    message: Opened WCF Host
    LocalAgentHost 1/3/2013 11:55:32 AM  id:LocalAgentHost_Info, rId:, sId:00000000-0000-0000-0000-000000000000, traceLevel:Info, agentId:6843e83c-6015-433c-97ae-4cb63815f4b5, agentInstanceId:bbd9490b-e160-4176-8988-9707b79ecd75, version:4.0.89.0, methodName:StartServiceThread,
    message: GetEntryAssembly().Location: C:\Program Files (x86)\Microsoft SQL Data Sync\bin\LocalAgentHost.exe, GetExecutingAssembly().Location: C:\Program Files (x86)\Microsoft SQL Data Sync\bin\LocalAgentHost.exe, Process.GetCurrentProcess().StartInfo.WorkingDirectory:
    LocalAgentHost 1/3/2013 11:55:37 AM  id:LocalAgentHost_Info, rId:, sId:00000000-0000-0000-0000-000000000000, traceLevel:Info, agentId:6843e83c-6015-433c-97ae-4cb63815f4b5, agentInstanceId:bbd9490b-e160-4176-8988-9707b79ecd75, version:4.0.89.0, methodName:AgentConfigDataManager.DownloadAndCacheServiceUrisFromLocator,
    message:Scale unit found
    AgentCore 1/3/2013 11:55:40 AM  id:AgentCore_InstanceStarted, rId:, sId:65915150-1284-4a17-9c13-d58e2830fcd9, agentId:6843e83c-6015-433c-97ae-4cb63815f4b5, agentInstanceId:bbd9490b-e160-4176-8988-9707b79ecd75, version:4.0.89.0
    ThreadId:40. Dispatcher started. Waiting
    ThreadId:43. GetRequest started.
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:46. GetRequest started.
    ThreadId:41. GetRequest started.
    ThreadId:48. GetRequest started.
    ThreadId:45. GetRequest started.
    ThreadId:42. GetRequest started.
    ThreadId:47. GetRequest started.
    ThreadId:44. GetRequest started.
    ThreadId:49. GetRequest started.
    ThreadId:50. GetRequest started.
    ThreadId:51. GetRequest started.
    ThreadId:52. GetRequest started.
    ThreadId:53. GetRequest started.
    ThreadId:54. GetRequest started.
    ThreadId:55. GetRequest started.
    ThreadId:56. GetRequest started.
    ThreadId:57. GetRequest started.
    ThreadId:58. GetRequest started.
    ThreadId:59. GetRequest started.
    ThreadId:60. GetRequest started.
    ThreadId:61. GetRequest started.
    ThreadId:62. GetRequest started.
    ThreadId:63. GetRequest started.
    ThreadId:64. GetRequest started.
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest
    ThreadId:40. Dispatcher calling GetRequest

    Hi,
    I believe that your issue is resolved by now. Please try this step is the issue still persists.
    its security issues and re-install the data sync with domainname\Myaccount user and give the user as adminitsrator privileges and change the time of your system.
    http://social.technet.microsoft.com/wiki/contents/articles/2655.sql-azure-data-sync-troubleshooting-guide.aspx
    Girish Prajwal

  • Error 1603 - key invalid for use in specified stat...

    cannot use skype, cannot re-install Skype
    get: error 1603
    and window stating: key invalid for use in specified state
    Skype was working fine up to yesterday (Sept 15 2014)

    ruwim escribió:
    Try to uninstall Windows Security update KB2918614.
    http://community.skype.com/t5/Windows-desktop-client/Error-Key-not-valid-for-use-in-specified-state/​...
    I personally whould not recommend that, because uninstalling the update KB2918614 places the Windows Installer service back to its original design, but also leaves it vulnerable to the reported security issue https://technet.microsoft.com/library/security/MS1​4-049
    more info about this here: http://windowsitpro.com/security/bug-or-feature-kb​2918614-alters-windows-installer-behavior
    so, the right way to solve this this, is fixing user credentials and permissions, that could be corrupted by a virus.
    1 - Reset File Permissions: http://www.tweaking.com/content/page/reset_file_pe​rmissions.html
    2 - Reset Registry Permissions: http://www.tweaking.com/content/page/reset_registr​y_permissions.html
    3 - Repair MSI (Windows Installer): http://www.tweaking.com/content/page/repair_msi_wi​ndows_installer.html
    after that, you can try uninstall KB2918614 and then install KB2918614 again from Windows Update in Control Panel.

  • Putting fileinfo data on bottom of image for use in building a photobook for printing/binding

    I wonder if someone on here could help me with a problem I have? I am not a script expert by any means. The term "amateur" is probably pretty accurate!
    I have a few hundred pictures I want to include into a (to be printed) photobook. I want to put some key EXIF/Fileinfo data on the images so that they remind me of what file, when it was taken, with what and with what settings. I found an excellent script (by JJmack?) which does what i want with one exception. The script (below) puts the info on the image starting on the top left (0,0) and I really want it to start on the bottom left (so that it looks like a caption). I have tweaked the original 5 lines of data down to one line, and have reduced the font size but I simply do not have the skills to amend it to add the selected text to the bottom left.
    I was hoping that someone on this forum might be kind enough to help - not least because I am sure there are others who would want to the same thing? Or am I being a complete idiot and there is a simpler way to achieve what I am trying to do?
    Grateful for any help
    Michael.
    Apologies - can't find way to insert file so had to copy and paste:
    // This script was hacked from one I downloaded from the web JJMack 2008
    /*  Script to stamp copyright and camera data of shot   */
    // This script is supplied as is. It is provided as freeware.
    // The author accepts no liability for any problems arising from its use.
    <javascriptresource>
    <about>$$$/JavaScripts/StampExif/About=JJMack's Stamp Exif.^r^rCopyright 2009 Mouseprints.^r^rScript utility for action.^rNOTE:Add Text Layer with Fomatted EXIF Data!</about>
    <category>JJMack's Action Utility</category>
    </javascriptresource>
    // enable double-clicking from Mac Finder or Windows Explorer
    #target photoshop // this command only works in Photoshop CS2 and higher
    // bring application forward for double-click events
    app.bringToFront();
    // ensure at least one document open
    if (!documents.length) {
        alert('There are no documents open.', 'No Document');
    // if at least one document exists, then proceed
    else {
        main();
    // main - main function
    function main() {
        /* Null business owner */
        var Biz = "";
        var Owner = "";
        /* Variables You can hard code your business owner here */
        // var Biz = "Mouseprints";
        // var Owner = "John J McAssey";
            /*  sizeFactor influences text size 1 will use largest font 2 will half that font size    */
        var sizeFactor = 1.5;
            /* textX and TextY positions text placement 0 and 0 Top Left corner of image in pixels    */
        var textX = 0;                                   
        var textY = 0;   
        /* Internal Photoshop Text name                                */                               
            var fontName = "ArialMT";
        var fontName = "TimesNewRomanPSMT";
        var fontName = "Tahoma";
        /* Text Color                                        */
        textColor = new SolidColor;                       
        textColor.rgb.red = 255;
        textColor.rgb.green = 255;
        textColor.rgb.blue = 255;
        /* END Variables You can hard code your business owner here */
            // remember users Ruler avd Type Units and set ours
        var strtRulerUnits = app.preferences.rulerUnits;
        var strtTypeUnits = app.preferences.typeUnits;
        app.preferences.rulerUnits = Units.PIXELS;
         app.preferences.typeUnits = TypeUnits.PIXELS;
        /* Trying to figure out font size for the number of lines to cover the document height        */
        /* and getting setting text area to cover the document was a trip. Adobe Postscript trip    */
        /* I believe that 72 or 72.27 Point/Pica Size Photoshop Preference maybe I should see if    */
        /* I could retrieve it. Anyway mine is set to 72 Setting the document resolution taking        */
        /* the document width and dividing by 72 would probably yield number of characters that        */
        /* would fit in the document width. Setting the documents resolution comes into play        */
        /* with Photoshop text support. Using the documents height and dividing the by the number    */
        /* of lines of text I needed I hoped would yield the font size I needed. However that        */
        /* did not work the text area was correct the number of text lines did not fit. I needed    */
        /* to use a smaller font.  When the document resolution is set to 72 DPI and I set a text    */
        /* layer font size to 72 and the text area the number of pixels I want and observing        */
        /* Photoshop's text options bar there I see a one 1 to one relationship. 72 px = 72 px.        */
        /* If I set the documents resolution lower and set a Photoshop text layer font size to        */
        /* 72 px I see Photoshop scale the number to a lower number of pixels in the option bar.    */
        /* Just what I needed. Setting the Documents resolution to 60 DPI let the number of line    */
        /* I needed fit on the document. However Photoshop also scaled the text area I set down        */
        /* in size and that number of lines did not fit within that area. I needed to scale the        */
        /* text area up. Scaling the Text area up using 72/resolution did the trick...             */
            var testres = 60;
        res = app.activeDocument.resolution;
        if(res!=testres){ app.activeDocument.resizeImage(app.activeDocument.width.value,app.activeDocument.height.v alue,testres); }
        /* Define var to be used to avoid undefined */
        var expTime = "";
        var expPgm = "";
        var expCmp = "";
        var mtrMode = "";
        var ev = "";
        var flshCode = "";
        var flshMode = "";
        var focLength = "";
        var Fstop = "";
        var ISO = "";
        var Model = "";
        var CameraModel = "";
        var Artist = "";
        var maxF = "";
        var wbMode = "";
        var phoTime = "";
        var picYr = "";
        var lens = "";
        var cpyrt = "";
        var remShutter = "";
        var remAperture = "";
        var remISO = "";
        var lat = "";
        var latRef = "";
        var lon = "";
        var lonRef = "";
        var docName = app.activeDocument.name;
        /* END var to be used to avoid undefined */
        try {   // get active document
            var doc = app.activeDocument;
        catch (e){
            alert("No Document Open..." );
        var exifInfo = "";
    try {
            // alert( "doc.info.exif=" + doc.info.exif );
            var numExifItems = doc.info.exif.length;
            // alert( "numExifItems=" + numExifItems );
                    for (var i = 0; i < doc.info.exif.length; i++){
                 exifInfo = exifInfo + doc.info.exif[i][0] + " = " + doc.info.exif[i][1] + "\r";
    /* ---------------------------------- Extracting Data I want to Stamp  formated ----------------------------------------------------------------------- */
                            checkThisItem(doc.info.exif[i][0], doc.info.exif[i][1])
                key=doc.info.exif[i][0];
                keyData=doc.info.exif[i][1];
                if (key == "Artist") {
                    // alert ("Key=" + key + " Data=" + keyData );
                    Artist =("By " + keyData + "  ");
                 if (key == "Date Time Original") {
                    // alert ("Key=" + key + " Data=" + keyData );
                    var phoTime = keyData;
                    var dateArray1 = phoTime.split(" ", 2);
                    phoTime = dateArray1[0];
                    phoHour = dateArray1[1];
                    var dateArray2 = phoTime.split(":");
                    var monthsArray = ["January","February","March","April","May","June","July","August","September","October", "November","December"];
                    phoTime = monthsArray[dateArray2[1]-1]+" " + dateArray2[2]+ ", " + dateArray2[0] +" @ " + phoHour;
                    var picYr = dateArray2[0];
                if (key == "Model") {
                    // alert ("Key=" + key + " Data=" + keyData );
                    Model = (keyData + "  ");
                if (key == "Max Aperture Value") {
                    // alert ("Key=" + key + " Data=" + keyData );
                    maxF = ("maxF " + keyData + " ");
                    maxF = ( keyData + " ");
                if (key == "Focal Length") {
                    // alert ("Key=" + key + " Data=" + keyData );
                    focLength = ("@ " +keyData + "  ");
                if (key == "Exposure Program") {
                    // alert ("Key=" + key + " Data=" + keyData );
                    expPgm = (keyData + "  ");
                    if (expPgm == "Not defined") { expPgm = "Exposure Program Not Recorded  "; }
                if (key == "Exposure Bias Value") {
                    // alert ("Key=" + key + " Data=" + keyData );
                    expCmp = ("Bias " + keyData + "  ");
                if (key == "Metering Mode") {
                    //alert ("Key=" + key + " Data=" + keyData );
                    mtrMode = (keyData + " Metering  ");
                if (key == "White Balance") {
                    // alert ("Key=" + key + " Data=" + keyData );
                    wbMode = ("White Balance " + keyData + "  ");
                if (key == "ISO Speed Ratings") {
                    // alert ("Key=" + key + " Data=" + keyData );
                    ISO = ("ISO " + keyData + "  ");
                    remISO = keyData;
                if (key == "Exposure Time") {
                    // alert ("Key=" + key + " Data=" + keyData );
                    expTime = (" " + keyData + "  ");
                    remShutter = keyData;
                if (key == "F-Stop") {
                    //alert ("Key=" + key + " Data=" + keyData );
                    Fstop = (" " + keyData + "  ");
                    remAperture = keyData;
                if (key == "Flash") {
                    // alert ("Key=" + key + " Data=" + keyData );
                    var flshCode = keyData;
                    var flshMode = "Flash Code=" + flshCode + "  ";
                    if(flshCode==1){var flshMode = "Firing Flash   ";}
                    if(flshCode==9){var flshMode = "Firing Flash   ";}
                    if(flshCode==13){var flshMode = "Firing Flash   ";}
                    if(flshCode==15){var flshMode = "Firing Flash   ";}
                    if(flshCode==25){var flshMode = "Firing Flash   ";}
                    if(flshCode==29){var flshMode = "Firing Flash   ";}
                    if(flshCode==31){var flshMode = "Firing Flash   ";}
                    if(flshCode==65){var flshMode = "Firing Flash   ";}
                    if(flshCode==69){var flshMode = "Firing Flash   ";}
                    if(flshCode==71){var flshMode = "Firing Flash   ";}
                    if(flshCode==73){var flshMode = "Firing Flash   ";}
                    if(flshCode==77){var flshMode = "Firing Flash   ";}
                    if(flshCode==79){var flshMode = "Firing Flash   ";}
                    if(flshCode==89){var flshMode = "Firing Flash   ";}
                    if(flshCode==93){var flshMode = "Firing Flash   ";}
                    if(flshCode==95){var flshMode = "Firing Flash   ";}
                    if(flshCode==0){var flshMode = "without Flash   ";}
                    if(flshCode==16){var flshMode = "without Flash   ";}
                    if(flshCode==24){var flshMode = "without Flash   ";}
                    if(flshCode==88){var flshMode = "without Flash   ";}
                    if(flshCode==32){var flshMode = "No Flash   ";}
                if (key == "GPS Latitude") {
                    //alert ("Key=" + key + " Data=" + keyData );
                    lat= ("Lat: " + keyData.replace(/\.00/g,'') + " ");
                if (key == "GPS Latitude Ref") {
                    //alert ("Key=" + key + " Data=" + keyData );
                    latRef= (keyData + "  ");
                if (key == "GPS Longitude") {
                    //alert ("Key=" + key + " Data=" + keyData );
                    lon= ("Lon: " + keyData.replace(/\.00/g,'') + " ");
                if (key == "GPS Longitude Ref") {
                    //alert ("Key=" + key + " Data=" + keyData );
                    lonRef= (lon + keyData + "  ");
            /* Copyright Year(s) */
            var thisYr, toDay       
            var toDay = new Date();
            var thisYr = toDay.getYear() + 1900;
            if(picYr!="" && thisYr!=""){ var cpyrt =  picYr + "-" + thisYr + "  ";}
            if(picYr=="" && thisYr!=""){ var cpyrt =  thisYr + "  ";}
            if(picYr==thisYr){ var cpyrt =  thisYr + "  ";}
            /* For cameras that don't set Artist or set unknown in the Exif substitute Owner if set */
            if(Artist=="" && Owner!=""){var Artist = "By  " + Owner + "   ";}
            if(Artist=="By unknown  " && Owner!=""){var Artist = "By  " + Owner + "   ";}
            /*  Lens info  */
            xml = app.activeDocument.xmpMetadata.rawData;
            lensOffset = xml.indexOf("<aux:Lens>") + "<aux:Lens>".length;
            if(lensOffset > 0) {
                lens = xml.substr(lensOffset, xml.length - lensOffset);
                lens = lens.substr(0,lens.indexOf("</aux:Lens>"));
            /* Hack for my cameras with fixed lens */
            if(lens=="" && Model=="E990  "){var lens = "9-28mm";}
            if(lens=="" && Model=="E-20,E-20N,E-20P  "){var lens = "9-36mm";}
            if(lens=="" && Model=="E-10  "){var lens = "9-36mm";}
            if(lens=="" && Model=="E-10          "){
                var Model = "E-10  ";
                var lens = "9-36mm";
            if(lens=="" && Model=="Canon PowerShot SD700 IS  "){var lens = "5.8-23.2mm";}
            if(lens!=""){var lens = lens + "  ";}
            else {var lens = "Unknown Lens  ";}
            /* Hack for my ultra compact cameras program mode not recorded */
            if(Model=="Canon PowerShot SD700 IS  "){var expPgm = "Ultra Compact Camera  ";}
            //alert (remShutter + " " + remAperture + " " + remISO);
                    ev = calcEV(remShutter, remAperture, remISO);
    /* ---------------------------------- END Extracting Data I want to Stamp  formated -------------------------------------------------- */
        catch (e){
            alert("No EXIF data exists..." );
        if ( exifInfo == "" ) {
            alert( "No EXIF data exists..." );
        else {
            // alert( "exifInfo=" + exifInfo );
            text_layer = doc.artLayers.add();                        // Add a Layer
            text_layer.name = "EXIF Stamp";                            // Name Layer
            text_layer.kind = LayerKind.TEXT;                        // Make Layer a Text Layer
            text_layer.textItem.color = textColor;                        // set text layer color
    /* Do not set TextType to Pargarph Text for StampEXIF so action can position text layer
             text_layer.textItem.kind = TextType.PARAGRAPHTEXT;                // Set text layers text type
            text_layer.textItem.font = fontName;                        // set text font
            text_layer.blendMode = BlendMode.NORMAL                        // blend mode
            text_layer.textItem.fauxBold = false;                        // Bold
            text_layer.textItem.fauxItalic = false;                        // Italic
            text_layer.textItem.underline = UnderlineType.UNDERLINEOFF;            // Underlibn
            text_layer.textItem.capitalization = TextCase.NORMAL;                // Case
            text_layer.textItem.antiAliasMethod = AntiAlias.SHARP;                // antiAlias
    //        var fontSize = Math.round((doc.height- textY) / ((numExifItems +1) * sizeFactor)); // Calulate font size to use Item nomber + last \r
            /* Calulate font size to use for StampExit keep size same for landscape and portrait base on document size */
            if (doc.width >= doc.height) {var fontSize = Math.round(doc.height / (30 * sizeFactor));}
            else {var fontSize = Math.round(doc.width / (30 * sizeFactor));}
            if (fontSize<10){fontSize=10};                            // don't use Font size smaller then 10
            text_layer.textItem.size = fontSize;                        // set text font Size
    //        text_layer.textItem.position = Array(textX, textY );                // set text layers position in and down
            text_layer.textItem.position = Array(textX, (textY + fontSize ));        // set text layers position in and down for Stamp add in fontsize
            textWidth = ((doc.width - textX) * 72/testres );                // Text width document width - offset
            textHeight = ((doc.height - textY) * 72/testres );                // Text height document height - offset
    /* Do not set Text Area for StampEXIF so action can position text layer
            text_layer.textItem.width = textWidth;                        // set text area width
            text_layer.textItem.height = textHeight;                    // set text area height
             alert(
            "res=" + res + " sizeFactor=" + sizeFactor + " numExifItems=" + numExifItems
            + "\r" + "fontsize=" + fontSize + " font=" +fontName
            + "\r" + "Image area width=" + doc.width + " height=" + doc.height
            + "\r"    + "text area width=" + textWidth + " height=" + textHeight
            + "\r"    + "Text Position top left=" + textX + "," + textY
            + " bottom right=" + (textX + textWidth )+ "," + (textY +  textHeight )
            try{
                text_layer.textItem.contents = exifInfo;
            catch (er) {
                alert("Error Setting Contents...");
    /* -----------------------------------------  Data Stamp  format ----------------------------------------------------------------------- */
            if (!app.activeDocument.info.copyrightNotice=="") {var Notice = app.activeDocument.info.copyrightNotice; }
            else { var Notice = "Copyright \u00A9 " + Biz  + " " + cpyrt; }   
            if (lat!="" && lon!="") { gps = "\r" + lat +latRef + lon + lonRef;}
            else {gps = ""; }
            text_layer.textItem.contents =  docName + " " + Model + lens + ISO + expTime + Fstop;
            if (app.activeDocument.info.instructions == "" ) {
                app.activeDocument.info.instructions = docName + " " + Model  + lens + ISO  + expTime + Fstop;
        if(res != testres){ app.activeDocument.resizeImage(app.activeDocument.width.value,app.activeDocument.height.v alue,res); }
        app.preferences.rulerUnits = strtRulerUnits;
        app.preferences.typeUnits = strtTypeUnits;
    // END - main function
    // calcEV()
    function calcEV(shutter, aperture, iso) {
        evString = new String("");
        isoValue = new Number(0);
        shutterValue = new Number(0);
        apertureValue = new Number(0);
        evValue = new Number(0);
        apertureValue = aperture;
        apertureValue = apertureValue.substr(2,apertureValue.length -2); // Strip off "f/"
        shutterValue = shutter;
        shutterValue = shutterValue.substr(0,shutterValue.indexOf(" ")); // Strip off ending " sec"
        if ( shutterValue.indexOf("/") != -1) {
            topShutter = shutterValue.substr(0,shutterValue.indexOf("/"));
            bottomShutter = shutterValue.substr(shutterValue.indexOf("/") + 1,shutterValue.length -(shutterValue.indexOf("/") + 1));
            shutterValue = topShutter / bottomShutter;
        isoValue = iso;
        //alert ("apertureValue = " + apertureValue +  " shutterValue = " + shutterValue + " isoValue = " + isoValue );
        if (isoValue>0 && shutterValue>0 && apertureValue>0) {
            evValue = Math.LOG2E * Math.log(Math.pow(apertureValue, 2) * (1 / shutterValue) * (100 / isoValue));
            evValue = Math.round(evValue * 10) / 10;
            evString = "EV " + evValue;
        return evString;;
    function checkThisItem(key, keyData) {
        // alert("Key=" + key + " Data=" + keyData );

    I wrote that script to be used within an Action.  The Action uses the script to add the text layer. The text layer becomes the current active layer.  The action can then position the layer anywhere over the document by aligning the layer to a selection.  Also add a layer style like set fill to 0 and adding a drop shadow and emboss. That is the un-expanded step below the set current layer is setting a style and is lengthy.
    Crafting Actions Package UPDATED Aug 10, 2014 Added Conditional Action steps to Action Palette Tips.
    Contains
    Action Actions Palette Tips.txt
    Action Creation Guidelines.txt
    Action Dealing with Image Size.txt
    Action Enhanced via Scripted Photoshop Functions.txt
    CraftedActions.atn Sample Action set includes an example Watermarking action
    Sample Actions.txt Photoshop CraftedActions set saved as a text file.
    More then a dozen Scripts for use in actions
    Example
    Download

  • Entering data into a mySQL database for use with my JDBC program

    does any know what i type on telnet to get mySQL to work on windows 2000?
    i read check your isp for what to type in for this line, but i use IIS
    www24:mywww/devshed# mysql -u devshed -p
    and what do i put for
    login: devshed
    Password: ********
    it says check with isp on that one too
    i am trying to insert records, and make columns, is there an easier way to do this?
    thanks,
    Pearl
    Beginning MySQL Tutorial
    By W.J. Gilmore
    April 03, 1999
    Part 1: At First Glance
    MySQL is most commonly entered through telnet. (A nice Telnet program, Easyterm, can be found at http://www.arachnoid.com) Once the telnet connection to the web server has been accomplished, a second command provides access to the MySQL server. The procedure to make these connection is as follows:
    1. Connect to telnet. This involves the insertion of the given ISP username and password.
    --------------------------------------------------------------------------------login: devshed
    Password: ********
    Last login: Wed Aug 12 09:49:14 from 195.103.124.222
    Copyright 1992, 1993, 1994, 1995, 1996 Berkeley Software Design, Inc.
    Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
    The Regents of the University of California. All rights reserved.
    BSDI BSD/OS 2.1 Kernel #12: Mon Feb 23 13:46:27 EST 1998
    You have new mail.
    www24:mywww/devshed#
    2. Connect to MySQL. This involves the insertion of the username and password given specifically for MySQL use. This information has probably been provided to you at your request to the ISP provider.
    --------------------------------------------------------------------------------www24:mywww/devshed# mysql -u devshed -p--------------------------------------------------------------------------------
    Syntax: mysql -h hostname -u username -p[password]
    Or
    mysql -h hostname -u username --password=password
    The user will then be prompted for a password, as prompted by -p.
    --------------------------------------------------------------------------------Enter password: *******--------------------------------------------------------------------------------
    Assuming MySQL has been correctly installed and configured, the user will see output similiar to the following:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 49 to server version: 3.21.23-beta-log
    Type 'help' for help.
    mysql>
    (Note: If an error message pertaining to "Access denied" is the result of connection attempts, you should consult the MySQL documentation included with the software, the MySQL mailing list found at http://www.mysql.com, as well as your ISP provider. These resources will aid greatly in resolving these problems.)
    Once connected to the database, we are free to execute the various commands of the MySQL language. However before we are able to modify the database, we must first connect to it, via the command:
    --------------------------------------------------------------------------------mysql> use devshed;
    Result:
    --------------------------------------------------------------------------------Database changed
    Mysql>
    You now are connected to the database. Note that the command was followed by a semi-colon (;). Almost all commands in MySQL are followed by a semi-colon.
    At the disposition are a number of administrative commands. These commands can be viewed simply by typing help, \h or ? at the command line:
    --------------------------------------------------------------------------------mysql> help
    help (\h) Display this text
    ? (\h) Synonym for `help'
    clear (\c) Clear command
    connect (\r) Reconnect to the server. Optional arguments are db and host
    edit (\e) Edit command with $EDITOR
    exit (\) Exit mysql. Same as quit
    go (\g) Send command to mysql server
    print (\p) print current command
    quit (\q) Quit mysql
    rehash (\#) Rebuild completion hash
    status (\s) Get status information from the server
    use (\u) Use another database. Takes database name as argument
    Connection id: 49 (Can be used with mysqladmin kill)
    mysql>

    Let's make this simple:
    a) Your book seems to assume you're doing development remotely.
    b) You are not doing development remotely.
    c) Therefore, you shouldn't follow every step listed in your book (i.e. ignore the stuff about Telnet).
    Assuming you installed mySQL in the standard location, you can use this batch file to start mySQL on your machine:
    @echo on
    cd c:\mysql\bin
    mysqld
    @echo off
    cls
    Use this batch file to shut down mySQL:
    @echo on
    cd c:\mysql\bin
    mysqladmin shutdown
    @echo off
    cls
    You can play around without a login or password in development. For a production environment, you're going to need to set up users and grant permissions.
    Spend some time reading the mySQL documentation.

  • Asset History Sheet giving Report date 31.03.2008 invalid for this report

    S_ALR_87011990 :Asset History Sheet.
    Report date 31.03.2008 is invalid for this report
    In the above report, if we give the Report Data, as any date other than the end month of the fiscal year, it gives the error " Report date 31.03.2008 is invalid for this report"  We require this report for tax purpose upto 31st Mar08
    What needs to be done ?
    Thanks
    amit

    Hi Amit,
    In AM you can only report on the dates you have set-up in period control. In the most cases this is the last day of the Month.  When you have 13 periods from 4 weeks you can't report on the calendar month end.
    Paul

  • Can't find the type wsrc_runtime_attr_varray for using the wwrc_api API

    hi,
    I manage to build a custom search portlet in PL SQL that can search for items and filter on their attributes.
    everything works lovely and I'm at the final stage : performing the search !
    I plan to use the wwsrc_api.item_search procedure and specify attributes with the
    wwsrc_api.specify_attributes.
    (see the doc on > http://www.oracle.com/technology/products/ias/portal/html/plsqldoc/pldoc1014/wwsrc_api.html#procedure-specify_attributes )
    The problem is when calling teh specify_attibutes procedure, I can't declare the last (but not the least) parameter. It's type is wsrc_runtime_attr_varray and I can't find it anywhere in any schemas of my DB.
    here is the signature of the procedure :
    procedure specify_attributes(
    p_id in number,
    p_siteid in number default wwsbr_site_db . shared_siteid,
    p_value in varchar2,
    p_operator in varchar2 default contains_all,
    p_datatype in varchar2 default data_type_text,
    p_in_out_attr_varray in out nocopy wwsrc_runtime_attr_varray
    My question is : where is the type wsrc_runtime_attr_varray ?
    any clues ?

    hi sebastien,
    I've some troubles when performing a search using the "specify_attributes" procedure
    I get the SEARCH_FAILURE_EXCEPTION when i try to search items with an attribute.
    The search works well without calling it.
    Can you help me ?
    CODE
    create or replace
    PACKAGE BODY PKG_SEARCH AS
    PROCEDURE get_contents(p_siteid INTEGER, p_intitule VARCHAR2 DEFAULT NULL) IS
    v_result portal.wwsrc_api.items_result_array_type;
    v_outcount NUMBER;
    v_outscores portal.wwsrc_api.number_list_type;
    v_attributes portal.wwsrc_runtime_attr_varray;
    v_intitule portal.wwsbr_item_attributes.VALUE %TYPE;
    -- Attribut "INTITULE"
    v_intitule_attrid NUMBER;
    v_intitule_caid NUMBER;
    v_intitule_type VARCHAR2(20);
    BEGIN
    * Construction de l'objet ATTRIBUT avec la vue WWSBR_ATTRIBUTES
    * partie "INTITULE"
    select id, caid, data_type into v_intitule_attrid, v_intitule_caid, v_intitule_type
    from portal.wwsbr_attributes where name = 'INTITULE' and rownum = 1;
    portal.wwsrc_api.specify_attributes(
    p_id => v_intitule_attrid,
    p_siteid => v_intitule_caid,
    p_value => p_intitule,
    p_operator => portal.wwsrc_api.MATCH_ANY,
    p_datatype => v_intitule_type,
    p_in_out_attr_varray => v_attributes
    v_result := portal.wwsrc_api.item_search(
    p_attributes => v_attributes,
    p_attributesmatch => portal.wwsrc_api.match_any,
    p_out_count => v_outcount,
    p_out_scores => v_outscores);
    -- nbre de résultats
    htp.prn('Total : ' || v_outcount);
         -- pour chaque resultat
    FOR i IN 0 .. v_result.COUNT LOOP
    IF v_result.EXISTS(i) THEN
    -- récupération de l'attribut personnalisé 'INTITULE'
    SELECT VALUE INTO v_intitule FROM portal.wwsbr_item_attributes
    WHERE item_caid = p_siteid AND item_masterid = v_result(i).id
    AND attribute_id = v_intitule_attrid AND attribute_caid = v_intitule_caid;
    -- PRINT
    htp.prn('<document>');
    htp.prn('<id>' || v_result(i).id || '</id>');
    htp.prn('<type><![CDATA[' || v_type || ']]></type>');
    htp.prn('</document>');
    END IF;
    END LOOP;
    htp.prn('</documents>');
    -- gestion des exceptions
    EXCEPTION
    WHEN portal.wwsrc_api.search_failure_exception THEN
    htp.prn(' An internal exception was raised by
    * Portal or Oracle Text');
    WHEN others THEN
    htp.prn('Erreur inconnue');
    END;
    END PKG_SEARCH;

  • Comparing SQL data in the same table for two different dates

    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0
    Hello,
    We have a batch scheduling tool that automatically runs Oracle jobs and when it runs the jobs it stores a record from the instance in a table. I am trying to write a query that pulls up all of the jobs that ran today and compares them with what ran on the same day last week to find out what jobs didnt run today. So far I have the below but I can't get it to return anything. I am using Toad for this
    select *
    from xxcar_abat_instances
    where trunc(to_date(start_datetime)) = trunc(sysdate-7)
      and completion_status = 'Success'
    AND NOT EXISTS
      (select script_name
        from xxcar_abat_instances
       where trunc(to_date(start_datetime)) = trunc(sysdate)
         and completion_status = 'Success')Thank you

    Hi,
    964188 wrote:
    It is a date
    Such as
    10/31/2012 11:55:03 PMThen, as Hoek says, you don't want TO_DATE. For example:
    WHERE   TRUNC (start_datetime) = TRUNC (SYSDATE - 7) or the more efficient
    WHERE   start_datetime >= TRUNC (SYSDATE - 7)
    AND     start_datetime <  TRUNC (SYSDATE - 6)Also, it doesn't look like the EXISTS sub-query is corelated to the main query. That's almost certainly a mistake.
    If you're still having trouble, post your revised query, a little sample data (CREATE TABLE and INSERT statements). Point out where that query is givimg the wrong results, and explain how to get te right results.
    See the forum FAQ {message:id=9360002}

  • How to get Cumulative Update packages for SQL Server Compact v3.5 SP2 for use on a Windows Mobile device

    There are links on the pages for various Cummulative Updates for SQL Compact v3.5 SP2 which look to relate to the desktop version, but are these also available for Windows Mobile devices?  If so, what is the process to get hold of them?
    We are seeing intermittent problems with corrupted databases on devices which are using SQL Compact v3.5 SP2 and have seen that some of the Cumulative Updates do relate to corruption and would like to see if these can help to solve the issue.

    Just select the KB article, at the top of each there is a link to request a hotfix, you will then get a email with a download link. The 8088 and 8109 hotfixes also apply to Windows Mobile.
    http://erikej.blogspot.dk/2010/08/sql-server-compact-35-sp2-downloadable.html
    Please mark as answer, if this was it. Visit my SQL Server Compact blog http://erikej.blogspot.com

  • Why are the TypeKit fonts I am syncing not showing up for use in Illustrator?

    Hi there,
    I am beyond frustrated right now.  But that's neither here nor there for anyone reading this so I will get to the point.
    I have synced the TypeKit font, Tablet Gothic Wide to my Mac, but it simply won't show up as a font choice in Illustrator.  Any help here would be greatly appreciated.
    Thanks
    Sam

    Hi Sam,
    I'm sorry that you ran into trouble with this.  I've confirmed that the font selections are added to your account correctly. 
    In case you weren't aware, the Creative Cloud application needs to be running on your computer in order for the fonts to be synced. If you don't have that installed, you can download it for free from https://creative.adobe.com/products
    Once you have Creative Cloud running:
    - Are the fonts showing up in the Fonts tab of Creative Cloud? 
    - If you haven't done so already, would you please try turning off font sync in the Creative Cloud application, wait a moment, and then turn it back on?  The option to do this is under the gear icon in Preferences > Fonts ("sync on/off").  Sometimes the app just needs a fresh session for the fonts to appear again.
    If that doesn't make a difference, please send your recent sync log files to Typekit Support at [email protected] so that we can look into it further.
    Thank you,
    -- liz
    On OS X:
    * Open the Finder
    * under the Go menu, select "Go To Folder"
    * in the window that opens, type:  /Users/(username)/Library/Application Support/Adobe/CoreSync/
    Remember to replace "(username)" with your own account name.
    (Or if you are comfortable working from the Terminal, cd to $HOME/Library/Application Support/Adobe/CoreSync/)
    Attach the 3 or 4 most recent CoreSync-yyyy-MM-dd.log files to an email. Please don't send a zip file, as they often get flagged as spam.

  • I don't need a data plan or internet plan for using airport ?

    I understand that all the airport's do not need an internet plan, is just connect to a AC adapter and you have free wi-fi or not?

    Sorry, but your understanding is not correct.
    If you want the AirPort to have Internet capability, you will need to provide a broadband Ethernet Internet connection from a service provider to the AirPort.

Maybe you are looking for