实例介绍
【实例简介】
Snowflake .NET连接器支持多个.NET框架和库版本,包括.NET Framework 4.7.1、4.7.2和.NET 6.0。本文将指导您如何构建和安装Snowflake .NET连接器,以及如何进行测试和使用。
首先,您需要确保您的开发环境已安装Visual Studio 2017,因为该项目是在此版本下开发的。接着,您可以通过以下步骤构建Snowflake .NET连接器:
在测试连接器之前,您需要创建一个名为parameters.json的文件,在其中指定测试将运行的用户名、密码和账户信息。测试可以通过命令提示符或Visual Studio 2017运行。
使用Snowflake .NET连接器时,您可以通过指定有效的连接字符串来连接到Snowflake。本文还介绍了如何在连接字符串中包含特殊字符、使用不同的身份验证方法(如密码认证、密钥对认证、OAuth和浏览器基于SSO)以及通过代理服务器连接。
【实例截图】
【核心代码】
文件清单
└── snowflake-connector-net-80bfb2c0339b3d91dd440fdbb4673d72d43718f1
├── CodingConventions.md
├── deploy.bat
├── LICENSE
├── README.md
├── snowflake-connector-net.sln
├── snowflake-connector-net.sln.DotSettings
├── Snowflake.Data
│ ├── Client
│ │ ├── SnowflakeDbCommandBuilder.cs
│ │ ├── SnowflakeDbCommand.cs
│ │ ├── SnowflakeDbConnection.cs
│ │ ├── SnowflakeDbConnectionPool.cs
│ │ ├── SnowflakeDbConnectionStringBuilder.cs
│ │ ├── SnowflakeDbDataAdapter.cs
│ │ ├── SnowflakeDbDataReader.cs
│ │ ├── SnowflakeDbException.cs
│ │ ├── SnowflakeDbFactory.cs
│ │ ├── SnowflakeDbParameterCollection.cs
│ │ ├── SnowflakeDbParameter.cs
│ │ └── SnowflakeDbTransaction.cs
│ ├── Configuration
│ │ ├── ClientConfigCommonProps.cs
│ │ ├── ClientConfig.cs
│ │ ├── EasyLoggingConfigFinder.cs
│ │ ├── EasyLoggingConfigParser.cs
│ │ ├── EasyLoggingConfigProvider.cs
│ │ ├── EasyLoggingLogLevel.cs
│ │ ├── SFConfiguration.cs
│ │ └── SFConfigurationSectionHandler.cs
│ ├── Core
│ │ ├── ArrowChunkParser.cs
│ │ ├── ArrowResultChunk.cs
│ │ ├── ArrowResultSet.cs
│ │ ├── Authenticator
│ │ │ ├── BasicAuthenticator.cs
│ │ │ ├── ExternalBrowserAuthenticator.cs
│ │ │ ├── IAuthenticator.cs
│ │ │ ├── KeyPairAuthenticator.cs
│ │ │ ├── OAuthAuthenticator.cs
│ │ │ └── OktaAuthenticator.cs
│ │ ├── BaseResultChunk.cs
│ │ ├── ChunkDeserializer.cs
│ │ ├── ChunkDownloaderFactory.cs
│ │ ├── ChunkParserFactory.cs
│ │ ├── ChunkStreamingParser.cs
│ │ ├── ConcatenatedStream.cs
│ │ ├── ErrorMessages.Designer.cs
│ │ ├── ErrorMessages.resx
│ │ ├── FastMemoryStream.cs
│ │ ├── FastParser.cs
│ │ ├── FileTransfer
│ │ │ ├── EncryptionProvider.cs
│ │ │ ├── FileBackedOutputStream.cs
│ │ │ ├── SFFileCompressionTypes.cs
│ │ │ ├── SFFileMetadata.cs
│ │ │ ├── SFFileTransferAgent.cs
│ │ │ └── StorageClient
│ │ │ ├── ISFRemoteStorageClient.cs
│ │ │ ├── SFGCSClient.cs
│ │ │ ├── SFLocalStorageUtil.cs
│ │ │ ├── SFRemoteStorageUtil.cs
│ │ │ ├── SFS3Client.cs
│ │ │ └── SFSnowflakeAzureClient.cs
│ │ ├── HeartBeatBackground.cs
│ │ ├── HttpUtil.cs
│ │ ├── IChunkDownloader.cs
│ │ ├── IChunkParser.cs
│ │ ├── IChunkParserFactory.cs
│ │ ├── IResultChunk.cs
│ │ ├── JsonUtils.cs
│ │ ├── ParameterBinding.cs
│ │ ├── QueryContextCache.cs
│ │ ├── RestParams.cs
│ │ ├── RestRequest.cs
│ │ ├── RestRequester.cs
│ │ ├── RestResponse.cs
│ │ ├── ResultSetUtil.cs
│ │ ├── ReusableChunkParser.cs
│ │ ├── Session
│ │ │ ├── ConnectionCacheManager.cs
│ │ │ ├── EasyLoggingStarter.cs
│ │ │ ├── IConnectionManager.cs
│ │ │ ├── SessionPool.cs
│ │ │ ├── SFSession.cs
│ │ │ ├── SFSessionHttpClientProperties.cs
│ │ │ ├── SFSessionHttpClientProxyProperties.cs
│ │ │ ├── SFSessionParameter.cs
│ │ │ └── SFSessionProperty.cs
│ │ ├── SFBaseResultSet.cs
│ │ ├── SFBindUploader.cs
│ │ ├── SFBlockingChunkDownloader.cs
│ │ ├── SFBlockingChunkDownloaderV3.cs
│ │ ├── SFChunkDownloaderV2.cs
│ │ ├── SFDataConverter.cs
│ │ ├── SFError.cs
│ │ ├── SFMultiStatementsResultSet.cs
│ │ ├── SFResultChunk.cs
│ │ ├── SFResultSet.cs
│ │ ├── SFResultSetMetaData.cs
│ │ ├── SFReusableChunk.cs
│ │ ├── SFStatement.cs
│ │ ├── Tools
│ │ │ ├── DirectoryOperations.cs
│ │ │ ├── EnvironmentOperations.cs
│ │ │ ├── FileOperations.cs
│ │ │ ├── HomeDirectoryProvider.cs
│ │ │ └── UnixOperations.cs
│ │ └── UTF8Buffer.cs
│ ├── Logger
│ │ ├── EasyLoggerManager.cs
│ │ ├── EasyLoggingLevelMapper.cs
│ │ ├── Log4netImpl.cs
│ │ ├── SecretDetector.cs
│ │ ├── SFLogger.cs
│ │ ├── SFLoggerEmptyImpl.cs
│ │ ├── SFLoggerFactory.cs
│ │ └── UnixFilePermissionsConverter .cs
│ ├── Snowflake.Data.csproj
│ └── snowflake.ico
└── Snowflake.Data.Tests
├── App.config
├── coverage.config
├── IntegrationTests
│ ├── FileUploadDownloadLargeFilesIT.cs
│ ├── MaxLobSizeIT.cs
│ ├── SFBindTestIT.cs
│ ├── SFConnectionIT.cs
│ ├── SFConnectionPoolAsyncIT.cs
│ ├── SFConnectionPoolIT.cs
│ ├── SFDbAdaptorIT.cs
│ ├── SFDbCommandIT.cs
│ ├── SFDbDataReaderIT.cs
│ ├── SFDbFactoryIT.cs
│ ├── SFDbTransactionIT.cs
│ ├── SFMultiStatementsIT.cs
│ ├── SFPutGetTest.cs
│ ├── SFReusableChunkTest.cs
│ └── SFStatementTypeTest.cs
├── Mock
│ ├── MockAzureClient.cs
│ ├── MockCloseSessionException.cs
│ ├── MockCloseSessionGone.cs
│ ├── MockGCSClient.cs
│ ├── MockOkta.cs
│ ├── MockRemoteStorageClient.cs
│ ├── MockRestSessionExpired.cs
│ ├── MockRestSessionExpiredInQueryExec.cs
│ ├── MockRetryUntilRestTimeout.cs
│ ├── MockS3Client.cs
│ ├── MockSecretDetector.cs
│ ├── MockServiceName.cs
│ └── MockSnowflakeDbConnection.cs
├── SFBaseTest.cs
├── Snowflake.Data.Tests.csproj
├── UnitTests
│ ├── ArrowChunkParserTest.cs
│ ├── ArrowResultChunkTest.cs
│ ├── ArrowResultSetTest.cs
│ ├── ChunkDeserializerTest.cs
│ ├── ChunkDownloaderFactoryTest.cs
│ ├── ChunkParserFactoryTest.cs
│ ├── ChunkStreamingParserTest.cs
│ ├── ConcatenatedStreamTest.cs
│ ├── Configuration
│ │ ├── EasyLoggingConfigFinderTest.cs
│ │ ├── EasyLoggingConfigGenerator.cs
│ │ ├── EasyLoggingConfigParserTest.cs
│ │ ├── EasyLoggingConfigProviderTest.cs
│ │ └── EasyLoggingLogLevelTest.cs
│ ├── FastMemoryStreamTest.cs
│ ├── FastParserTest.cs
│ ├── FileBackedOutputStreamTest.cs
│ ├── HttpUtilTest.cs
│ ├── Logger
│ │ ├── EasyLoggerManagerTest.cs
│ │ ├── SFLoggerTest.cs
│ │ └── UnixFilePermissionsConverterTest.cs
│ ├── QueryContextCacheTest.cs
│ ├── SecretDetectorTest.cs
│ ├── Session
│ │ ├── EasyLoggingStarterTest.cs
│ │ ├── SFHttpClientPropertiesTest.cs
│ │ └── SFHttpClientProxyPropertiesTest.cs
│ ├── SFAuthenticatorFactoryTest.cs
│ ├── SFAzureClientTest.cs
│ ├── SFDataConverterTest.cs
│ ├── SFDbCommandBuilderTest.cs
│ ├── SFDbCommandTest.cs
│ ├── SFDbParameterCollectionTest.cs
│ ├── SFDbParameterTest.cs
│ ├── SFFileTransferAgentTests.cs
│ ├── SFGCSClientTest.cs
│ ├── SFOktaTest.cs
│ ├── SFRemoteStorageClientTest.cs
│ ├── SFReusableChunkTest.cs
│ ├── SFS3ClientTest.cs
│ ├── SFSessionPropertyTest.cs
│ ├── SFSessionTest.cs
│ ├── SFStatementTest.cs
│ └── SFUriUpdaterTest.cs
└── Util
├── DedicatedThreadSynchronisationContext.cs
├── PoolConfig.cs
├── RandomJsonGenerator.cs
├── SessionParameterAlterer.cs
└── TestDataGenarator.cs
19 directories, 188 files
Snowflake .NET连接器支持多个.NET框架和库版本,包括.NET Framework 4.7.1、4.7.2和.NET 6.0。本文将指导您如何构建和安装Snowflake .NET连接器,以及如何进行测试和使用。
首先,您需要确保您的开发环境已安装Visual Studio 2017,因为该项目是在此版本下开发的。接着,您可以通过以下步骤构建Snowflake .NET连接器:
1. 克隆源代码 2. 恢复依赖项 3. 构建解决方案文件安装完成后,您可以直接从nuget.org下载Snowflake.Data包,或者使用Visual Studio UI和Package Manager Console进行下载。
在测试连接器之前,您需要创建一个名为parameters.json的文件,在其中指定测试将运行的用户名、密码和账户信息。测试可以通过命令提示符或Visual Studio 2017运行。
使用Snowflake .NET连接器时,您可以通过指定有效的连接字符串来连接到Snowflake。本文还介绍了如何在连接字符串中包含特殊字符、使用不同的身份验证方法(如密码认证、密钥对认证、OAuth和浏览器基于SSO)以及通过代理服务器连接。
【实例截图】
【核心代码】
文件清单
└── snowflake-connector-net-80bfb2c0339b3d91dd440fdbb4673d72d43718f1
├── CodingConventions.md
├── deploy.bat
├── LICENSE
├── README.md
├── snowflake-connector-net.sln
├── snowflake-connector-net.sln.DotSettings
├── Snowflake.Data
│ ├── Client
│ │ ├── SnowflakeDbCommandBuilder.cs
│ │ ├── SnowflakeDbCommand.cs
│ │ ├── SnowflakeDbConnection.cs
│ │ ├── SnowflakeDbConnectionPool.cs
│ │ ├── SnowflakeDbConnectionStringBuilder.cs
│ │ ├── SnowflakeDbDataAdapter.cs
│ │ ├── SnowflakeDbDataReader.cs
│ │ ├── SnowflakeDbException.cs
│ │ ├── SnowflakeDbFactory.cs
│ │ ├── SnowflakeDbParameterCollection.cs
│ │ ├── SnowflakeDbParameter.cs
│ │ └── SnowflakeDbTransaction.cs
│ ├── Configuration
│ │ ├── ClientConfigCommonProps.cs
│ │ ├── ClientConfig.cs
│ │ ├── EasyLoggingConfigFinder.cs
│ │ ├── EasyLoggingConfigParser.cs
│ │ ├── EasyLoggingConfigProvider.cs
│ │ ├── EasyLoggingLogLevel.cs
│ │ ├── SFConfiguration.cs
│ │ └── SFConfigurationSectionHandler.cs
│ ├── Core
│ │ ├── ArrowChunkParser.cs
│ │ ├── ArrowResultChunk.cs
│ │ ├── ArrowResultSet.cs
│ │ ├── Authenticator
│ │ │ ├── BasicAuthenticator.cs
│ │ │ ├── ExternalBrowserAuthenticator.cs
│ │ │ ├── IAuthenticator.cs
│ │ │ ├── KeyPairAuthenticator.cs
│ │ │ ├── OAuthAuthenticator.cs
│ │ │ └── OktaAuthenticator.cs
│ │ ├── BaseResultChunk.cs
│ │ ├── ChunkDeserializer.cs
│ │ ├── ChunkDownloaderFactory.cs
│ │ ├── ChunkParserFactory.cs
│ │ ├── ChunkStreamingParser.cs
│ │ ├── ConcatenatedStream.cs
│ │ ├── ErrorMessages.Designer.cs
│ │ ├── ErrorMessages.resx
│ │ ├── FastMemoryStream.cs
│ │ ├── FastParser.cs
│ │ ├── FileTransfer
│ │ │ ├── EncryptionProvider.cs
│ │ │ ├── FileBackedOutputStream.cs
│ │ │ ├── SFFileCompressionTypes.cs
│ │ │ ├── SFFileMetadata.cs
│ │ │ ├── SFFileTransferAgent.cs
│ │ │ └── StorageClient
│ │ │ ├── ISFRemoteStorageClient.cs
│ │ │ ├── SFGCSClient.cs
│ │ │ ├── SFLocalStorageUtil.cs
│ │ │ ├── SFRemoteStorageUtil.cs
│ │ │ ├── SFS3Client.cs
│ │ │ └── SFSnowflakeAzureClient.cs
│ │ ├── HeartBeatBackground.cs
│ │ ├── HttpUtil.cs
│ │ ├── IChunkDownloader.cs
│ │ ├── IChunkParser.cs
│ │ ├── IChunkParserFactory.cs
│ │ ├── IResultChunk.cs
│ │ ├── JsonUtils.cs
│ │ ├── ParameterBinding.cs
│ │ ├── QueryContextCache.cs
│ │ ├── RestParams.cs
│ │ ├── RestRequest.cs
│ │ ├── RestRequester.cs
│ │ ├── RestResponse.cs
│ │ ├── ResultSetUtil.cs
│ │ ├── ReusableChunkParser.cs
│ │ ├── Session
│ │ │ ├── ConnectionCacheManager.cs
│ │ │ ├── EasyLoggingStarter.cs
│ │ │ ├── IConnectionManager.cs
│ │ │ ├── SessionPool.cs
│ │ │ ├── SFSession.cs
│ │ │ ├── SFSessionHttpClientProperties.cs
│ │ │ ├── SFSessionHttpClientProxyProperties.cs
│ │ │ ├── SFSessionParameter.cs
│ │ │ └── SFSessionProperty.cs
│ │ ├── SFBaseResultSet.cs
│ │ ├── SFBindUploader.cs
│ │ ├── SFBlockingChunkDownloader.cs
│ │ ├── SFBlockingChunkDownloaderV3.cs
│ │ ├── SFChunkDownloaderV2.cs
│ │ ├── SFDataConverter.cs
│ │ ├── SFError.cs
│ │ ├── SFMultiStatementsResultSet.cs
│ │ ├── SFResultChunk.cs
│ │ ├── SFResultSet.cs
│ │ ├── SFResultSetMetaData.cs
│ │ ├── SFReusableChunk.cs
│ │ ├── SFStatement.cs
│ │ ├── Tools
│ │ │ ├── DirectoryOperations.cs
│ │ │ ├── EnvironmentOperations.cs
│ │ │ ├── FileOperations.cs
│ │ │ ├── HomeDirectoryProvider.cs
│ │ │ └── UnixOperations.cs
│ │ └── UTF8Buffer.cs
│ ├── Logger
│ │ ├── EasyLoggerManager.cs
│ │ ├── EasyLoggingLevelMapper.cs
│ │ ├── Log4netImpl.cs
│ │ ├── SecretDetector.cs
│ │ ├── SFLogger.cs
│ │ ├── SFLoggerEmptyImpl.cs
│ │ ├── SFLoggerFactory.cs
│ │ └── UnixFilePermissionsConverter .cs
│ ├── Snowflake.Data.csproj
│ └── snowflake.ico
└── Snowflake.Data.Tests
├── App.config
├── coverage.config
├── IntegrationTests
│ ├── FileUploadDownloadLargeFilesIT.cs
│ ├── MaxLobSizeIT.cs
│ ├── SFBindTestIT.cs
│ ├── SFConnectionIT.cs
│ ├── SFConnectionPoolAsyncIT.cs
│ ├── SFConnectionPoolIT.cs
│ ├── SFDbAdaptorIT.cs
│ ├── SFDbCommandIT.cs
│ ├── SFDbDataReaderIT.cs
│ ├── SFDbFactoryIT.cs
│ ├── SFDbTransactionIT.cs
│ ├── SFMultiStatementsIT.cs
│ ├── SFPutGetTest.cs
│ ├── SFReusableChunkTest.cs
│ └── SFStatementTypeTest.cs
├── Mock
│ ├── MockAzureClient.cs
│ ├── MockCloseSessionException.cs
│ ├── MockCloseSessionGone.cs
│ ├── MockGCSClient.cs
│ ├── MockOkta.cs
│ ├── MockRemoteStorageClient.cs
│ ├── MockRestSessionExpired.cs
│ ├── MockRestSessionExpiredInQueryExec.cs
│ ├── MockRetryUntilRestTimeout.cs
│ ├── MockS3Client.cs
│ ├── MockSecretDetector.cs
│ ├── MockServiceName.cs
│ └── MockSnowflakeDbConnection.cs
├── SFBaseTest.cs
├── Snowflake.Data.Tests.csproj
├── UnitTests
│ ├── ArrowChunkParserTest.cs
│ ├── ArrowResultChunkTest.cs
│ ├── ArrowResultSetTest.cs
│ ├── ChunkDeserializerTest.cs
│ ├── ChunkDownloaderFactoryTest.cs
│ ├── ChunkParserFactoryTest.cs
│ ├── ChunkStreamingParserTest.cs
│ ├── ConcatenatedStreamTest.cs
│ ├── Configuration
│ │ ├── EasyLoggingConfigFinderTest.cs
│ │ ├── EasyLoggingConfigGenerator.cs
│ │ ├── EasyLoggingConfigParserTest.cs
│ │ ├── EasyLoggingConfigProviderTest.cs
│ │ └── EasyLoggingLogLevelTest.cs
│ ├── FastMemoryStreamTest.cs
│ ├── FastParserTest.cs
│ ├── FileBackedOutputStreamTest.cs
│ ├── HttpUtilTest.cs
│ ├── Logger
│ │ ├── EasyLoggerManagerTest.cs
│ │ ├── SFLoggerTest.cs
│ │ └── UnixFilePermissionsConverterTest.cs
│ ├── QueryContextCacheTest.cs
│ ├── SecretDetectorTest.cs
│ ├── Session
│ │ ├── EasyLoggingStarterTest.cs
│ │ ├── SFHttpClientPropertiesTest.cs
│ │ └── SFHttpClientProxyPropertiesTest.cs
│ ├── SFAuthenticatorFactoryTest.cs
│ ├── SFAzureClientTest.cs
│ ├── SFDataConverterTest.cs
│ ├── SFDbCommandBuilderTest.cs
│ ├── SFDbCommandTest.cs
│ ├── SFDbParameterCollectionTest.cs
│ ├── SFDbParameterTest.cs
│ ├── SFFileTransferAgentTests.cs
│ ├── SFGCSClientTest.cs
│ ├── SFOktaTest.cs
│ ├── SFRemoteStorageClientTest.cs
│ ├── SFReusableChunkTest.cs
│ ├── SFS3ClientTest.cs
│ ├── SFSessionPropertyTest.cs
│ ├── SFSessionTest.cs
│ ├── SFStatementTest.cs
│ └── SFUriUpdaterTest.cs
└── Util
├── DedicatedThreadSynchronisationContext.cs
├── PoolConfig.cs
├── RandomJsonGenerator.cs
├── SessionParameterAlterer.cs
└── TestDataGenarator.cs
19 directories, 188 files
好例子网口号:伸出你的我的手 — 分享!
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论