{"id":18554278,"url":"https://github.com/oracle/nosql-dotnet-sdk","last_synced_at":"2025-09-07T08:33:40.210Z","repository":{"id":38610913,"uuid":"415090775","full_name":"oracle/nosql-dotnet-sdk","owner":"oracle","description":"A .NET SDK for Oracle NoSQL Database","archived":false,"fork":false,"pushed_at":"2025-07-17T00:42:42.000Z","size":7263,"stargazers_count":8,"open_issues_count":3,"forks_count":4,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-07-28T20:04:50.732Z","etag":null,"topics":["dotnet","nosql","nosql-database","oracle"],"latest_commit_sha":null,"homepage":"https://www.oracle.com/database/nosql/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"upl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oracle.png","metadata":{"files":{"readme":"README-DEV.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-10-08T18:33:20.000Z","updated_at":"2025-07-17T00:42:40.000Z","dependencies_parsed_at":"2024-03-09T02:28:53.448Z","dependency_job_id":"939af94d-df72-4a26-87cb-8f60f40e070f","html_url":"https://github.com/oracle/nosql-dotnet-sdk","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/oracle/nosql-dotnet-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle%2Fnosql-dotnet-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle%2Fnosql-dotnet-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle%2Fnosql-dotnet-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle%2Fnosql-dotnet-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oracle","download_url":"https://codeload.github.com/oracle/nosql-dotnet-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle%2Fnosql-dotnet-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274012343,"owners_count":25207229,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotnet","nosql","nosql-database","oracle"],"created_at":"2024-11-06T21:20:59.903Z","updated_at":"2025-09-07T08:33:40.198Z","avatar_url":"https://github.com/oracle.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# .NET SDK for Oracle NoSQL Database\n\n## Overview\n\nThis document is for developers of the .NET SDK for the Oracle NoSQL\nDatabase. The target audience are those who want to modify\nsource code and run and modify tests and examples.\n\n## Getting Started\n\nRead [README](./README.md) on how to use the SDK.\n\n1.  You may develop on Windows, Linux or Mac.  The SDK supports .NET 5.0 and\nlater as well as .NET Core 3.1. It is recommended to use LTS version. Current\nLTS version is .NET 8.0. Download your chosen .NET version\n[here](https://dotnet.microsoft.com/en-us/download/dotnet) and follow\ninstallation instructions for your operating system.\n\nAfter installation, set *DOTNET_ROOT* environment variable to point to the .NET\ninstallation location. \n\nCurrently, the SDK is built for 2 platforms: .NET 5.0 and .NET Core 3.1.\nHowever, both binaries are forward-compatible and will run on any later .NET\nruntime. .NET 5.0 binary will be used by applications running on .NET 5.0 or\nlater, however testing .NET Core 3.1 binary may be necessary to ensure\nbackward compatibility. See below on how to specify target framework.\n\nNote that .NET SDK for Oracle NoSQL Database requires C# version 8.0 or\nhigher.\n\n2.  Clone the repository:\n\n```bash\ngit clone git@github.com:/oracle/nosql-dotnet-sdk\n```\n\n3.  Build the solution using *dotnet build* command:\n\n```bash\ncd nosql-dotnet-sdk\n[dotnet clean]\ndotnet build\n```\n\n(Note: the above command will build for both .NET 5.0 and .NET 3.1 and will\nwork only if you installed .NET 5.0 or later).\n\nYou may also build for particular .NET version (.NET 5.0 or .NET Core 3.1)\nand particular build configuration (*Debug* or *Release*):\n\n```bash\ncd nosql-dotnet-sdk\ndotnet build -f \u003ctarget-framework\u003e [-c \u003cbuild-configuration\u003e]\n```\n\nwhere *target-framework* is target framework moniker (TFM), values are\n*net5.0* and *netcoreapp3.1*, and *build-configuration* is *Debug* or\n*Release*, default is *Debug*.\n\nThe above will build the solution *Oracle.NoSQL.SDK.sln*.  You may also\nbuild particular projects individually by building in the following\ndirectories:\n\n* Driver project in *Oracle.NoSQL.SDK/src*\n* Unit test project in *Oracle.NoSQL.SDK/tests/Oracle.NoSQL.SDK.Tests*\n* Smoke test in *Oracle.NoSQL.SDK/tests/Oracle.NoSQL.SDK.SmokeTest*\n\nYou may also open and build the solution *Oracle.NoSQL.SDK.sln* in\n[Visual Studio](https://visualstudio.microsoft.com/).  Visual Studio 2019 or\nlater is required.\n\n4. The driver may be used to access\n[Oracle NoSQL Database Cloud Service](https://docs.oracle.com/en/cloud/paas/nosql-cloud/index.html)\nand [On-Premise Oracle NoSQL Database](https://docs.oracle.com/en/database/other-databases/nosql-database/index.html).\n\nIf developing for the Cloud Service, during development you may use the\ndriver locally by running tests and examples against\n[Oracle NoSQL Database Cloud Simulator](https://docs.oracle.com/en/cloud/paas/nosql-cloud/donsq/index.html).\n\n### Note on Http Proxy Settings\n\nThe SDK will use default HTTP Proxy settings on your system, if present. E.g.\non Linux these are determined by environment variable such as *HTTP_PROXY*,\n*HTTPS_PROXY* and *NO_PROXY*. If you are testing against the Cloud Simulator\nor On-Premise Oracle NoSQL Database running on *localhost*, you may need to\nbypass HTTP proxy for local addresses. E.g. on Linux make sure that *NO_PROXY*\nenvironment variable is set. E.g.:\n\n```bash\nexport NO_PROXY=localhost,127.0.0.1\n```\n\nOtherwise, follow OS-specific instructions for HTTP proxy settings.\n\n## Running Examples\n\nSee *Examples* section of [README](./README.md) for information on how to\nconfigure and run examples.\n\n## Running Tests\n\nTests require configuration information to create\n[NoSQLClient](https://oracle.github.io/nosql-dotnet-sdk/api/Oracle.NoSQL.SDK.NoSQLClient.html)\ninstance.  This configuration is provided as a parameter to tests and is\npassed as a path to a JSON configuration file containing the configuration.\n\nFor more information on JSON configuration files used to create\n[NoSQLClient](https://oracle.github.io/nosql-dotnet-sdk/api/Oracle.NoSQL.SDK.NoSQLClient.html),\nsee\n[Configuring the SDK](https://oracle.github.io/nosql-dotnet-sdk/tutorials/connect-cloud.html#configure_cloud)\nfor the cloud service,\n[Using the Cloud Simulator](https://oracle.github.io/nosql-dotnet-sdk/tutorials/connect-cloud.html#cloudsim)\nfor cloud simulator and\n[Configuring the SDK](https://oracle.github.io/nosql-dotnet-sdk/tutorials/connect-on-prem.html#config)\nfor on-premise Oracle NoSQL Database.\n\nThe configuration defines the service to which the driver will connect to as\nwell as other optional parameters.  See\n[NoSQLConfig](https://oracle.github.io/nosql-dotnet-sdk/api/Oracle.NoSQL.SDK.NoSQLConfig.html)\nfor more information.\n\n### \u003ca name=\"unit_tests\"\u003e\u003c/a\u003eRunning Unit Tests\n\n**Note:**\n\n**It is recommended to run the unit tests only against the Cloud Simulator or\nOn-Premise Oracle NoSQL Database and not against the Cloud Service as the\nlatter will consume cloud resources and may incur significant cost.**\n\nUnit tests are located in\n*Oracle.NoSQL.SDK/tests/Oracle.NoSQL.SDK.Tests* directory.\n\nThe unit tests use\n[MSTest](https://docs.microsoft.com/en-us/dotnet/core/testing/unit-testing-with-mstest)\nframework (MSTest V2).\n\nIf JSON configuration file is not provided when running unit tests, it is\nassumed that the they are running against Cloud Simulator using default\nendpoint *localhost:8080*.\n\nUse *dotnet test* command to (build and) run unit tests against Cloud\nSimulator running on *localhost* port *8080*:\n\n```bash\ncd nosql-dotnet-sdk\ndotnet test -f \u003ctarget-framework\u003e [-c \u003cbuild-configuration\u003e]\n```\n\nwhere *target-framework* is target framework moniker (TFM), values are\n*net5.0* and *netcoreapp3.1*, and *build-configuration* is *Debug* or\n*Release*, default is *Debug*.\n\nIn all other cases, JSON configuration file is required.  It is passed to the\ntests as property named *noSQLConfigFile*, as part of\n[TestContext.Properties](https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.testtools.unittesting.testcontext.properties?view=visualstudiosdk-2019).\n\nYou may provide this property in one of two ways:\n\n1.  On the command line when running *dotnet test*:\n\n```bash\ndotnet test -f \u003ctarget-framework\u003e [-c \u003cbuild-configuration\u003e] -- TestRunParameters.Parameter(name=\\\"noSQLConfigFile\\\", value=\\\"/path/to/config.json\\\")\n```\n\n2. In a *.runsettings* file:\n\nCreate file *test.runsettings* (name can be differrent but the extension must\nbe *.runsettings*) with the following contents:\n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n\u003cRunSettings\u003e\n  \u003c!-- Parameters used by tests at run time --\u003e\n  \u003cTestRunParameters\u003e\n    \u003cParameter name=\"noSQLConfigFile\" value=\"/path/to/config.json\" /\u003e\n  \u003c/TestRunParameters\u003e\n\u003c/RunSettings\u003e\n```\n\nPass this file to *dotnet test* command:\n\n```bash\ndotnet test -f \u003ctarget-framework\u003e [-c \u003cbuild-configuration\u003e] -s test.runsettings\n```\n\nIn addition to *dotnet test* command, using *.runsettings* file will allow you\nto pass these settings to unit tests when using\n[Test Explorer](https://docs.microsoft.com/en-us/visualstudio/test/run-unit-tests-with-test-explorer?view=vs-2022)\nin Visual Studio.\n\nFor more information, see\n[Configure unit tests by using a .runsettings file](https://docs.microsoft.com/en-us/visualstudio/test/configure-unit-tests-by-using-a-dot-runsettings-file?view=vs-2022).\n\nTo run individual unit tests or test cases, use *dotnet test* command with\n*--filter* option.  For example:\n\n```bash\ndotnet test -f net5.0 --filter ClassName~PutTests\n```\n\nFor more details, see\n[Run selective unit tests](https://docs.microsoft.com/en-us/dotnet/core/testing/selective-unit-tests?pivots=mstest).\n\n#### Running against past server versions\n\nBy default, the unit tests assume running against the latest server version.\nIf you need to run against older server versions for compatibility testing,\nyou need to set parameter *kvVersion* to the KV version you are running\nagainst. This will allow you to skip testing features not supported in\nprevious KV versions. Without this option, all features will be tested and\nthus some tests will fail when running against past KV version. To run against\npast CloudSim version, find the corresponding KV version for given CloudSim\ninstallation (look at the manifest inside *kvstore.jar*).\n\nYou can specify *kvVersion* parameter in either *.runsettings* file or on the\ncommand line as described above. E.g. in *.runsettings* file:\n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n\u003cRunSettings\u003e\n  \u003c!-- Parameters used by tests at run time --\u003e\n  \u003cTestRunParameters\u003e\n\t\u003cParameter name=\"kvVersion\" value=\"22.3.27\" /\u003e\n    \u003cParameter name=\"noSQLConfigFile\" value=\"/path/to/config.json\" /\u003e\n  \u003c/TestRunParameters\u003e\n\u003c/RunSettings\u003e\n```\n\n#### Optionally skipping rate limiter tests\n\nRate limiter tests, which are part of unit tests, may take quite a long time\nto run. You can optinally skip them by specifying the parameter\n*skipRateLimiterTests*. E.g. in *.runsettings* file:\n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n\u003cRunSettings\u003e\n  \u003c!-- Parameters used by tests at run time --\u003e\n  \u003cTestRunParameters\u003e\n\t\u003cParameter name=\"skipRateLimiterTests\" value=\"true\" /\u003e\n    \u003cParameter name=\"noSQLConfigFile\" value=\"/path/to/config.json\" /\u003e\n  \u003c/TestRunParameters\u003e\n\u003c/RunSettings\u003e\n```\n\n### \u003ca name=\"smoke_test\"\u003e\u003c/a\u003eRunning Smoke Test\n\nSmoke test does basic sanity testing of the SDK.  It creates a table, inserts,\ngets and then deletes several rows and then drops the table.\n\nSmoke test is localed under\n*Oracle.NoSQL.SDK/tests/Oracle.NoSQL.SDK.SmokeTest* directory.  It can\nbe run against the cloud service, cloud simulator or on-premise NoSQL\ndatabase. It requires JSON configuration file as described above.  To\n(build and) run smoke test, use *dotnet run* command:\n\n```bash\ncd nosql-dotnet-sdk/Oracle.NoSQL.SDK/tests/Oracle.NoSQL.SDK.SmokeTest\ndotnet run -f \u003ctarget-framework\u003e [-c \u003cbuild-configuration\u003e] -- /path/to/config.json\n```\n\nwhere *target-framework* is target framework moniker (TFM), values are\n*net5.0* and *netcoreapp3.1*, and *build-configuration* is *Debug* or\n*Release*, default is *Debug*.\n\nNote: you may omit JSON configuration file if running against the cloud\nservice using default OCI configuration file (see\n[Using an OCI Configuration File](https://oracle.github.io/nosql-dotnet-sdk/tutorials/connect-cloud.html#config_file)).\nThis is equivalent to creating\n[NoSQLClient](https://oracle.github.io/nosql-dotnet-sdk/api/Oracle.NoSQL.SDK.NoSQLClient.html)\ninstance using default constructor.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foracle%2Fnosql-dotnet-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foracle%2Fnosql-dotnet-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foracle%2Fnosql-dotnet-sdk/lists"}